Live example:
app/demo/theming.tsx
(colors, gradient, fonts) in the example app.Light/dark themes and an accent-driven palette
Theme & accent
The palette is derived from two props: atheme ("light" or "dark", default "dark") and
an accentColor (default #3323E6). Setting just these gets you a cohesive look.
Palette overrides
For precise control, override individual resolved-palette keys withpalette. Only the keys you
set are replaced — everything else stays derived from accentColor + theme.
line, fillTop / fillBottom, gridLine / gridLabel,
dotUp / dotDown / dotFlat, candleUp / candleDown / wickUp / wickDown,
crosshairLine, and tooltipBg / tooltipText. See the types reference
for the full LiveChartPalette.
Gradient fill
The area under the line is filled with a gradient. By default it’s derived from the accent color (gradient.topOpacity / gradient.bottomOpacity). For full control, pass explicit colors (top →
bottom, at least two stops):
colors falls back to the accent-derived top/bottom opacity. Custom colors are
single-series only — multi-series lines have no area fill. See the GradientConfig
reference for positions and the opacity fields.
Sizing and motion tokens
Wherepalette controls color, metrics controls shape (badge geometry, candle bounds) and
feel (fade and lerp speeds) — the same override model, namespaced. Only the keys you set are
replaced; everything else keeps the built-in default.
metrics is available on both LiveChart and LiveChartSeries. See the
types reference for the full LiveChartMetrics shape and every default.
Fonts
Chart text (axes, badges, tooltips) uses thefont prop. Point it at a system family, or load a
custom typeface from a Metro asset:
useFonts) and pass it as font.fontManager.
Shaping the live-edge value pill, the grid and axes, or the high / low edge labels has moved to
its own guide — see Badge styling, Axes & grid,
and Extrema labels.