LiveChart renders a single line series by default. History comes from a
SharedValue<LiveChartPoint[]> and the live tip from a SharedValue<number>.
Live example:
app/demo/line-and-area.tsx
in the example app.Line & area
Line styling
Override the stroke with theline prop, and the area fill with gradient:
gradient={false} to remove the area fill entirely.
Dimming replacement data
Keep the current chart visible while fetching a replacement range, then dim only the plotted data through a UI-thread shared value. Axes, reference lines, and scrub controls remain readable.seriesOpacity affects the line and area fill, candles and volume bars, value
line, badge, and inline value text. While it is below 1, the live dot and its
pulse ring fade completely out instead of becoming translucent over the stroke;
they fade back in after the series returns to full opacity. Pass the same shared
value to a candle chart—no mode-specific configuration is required. The Line &
area example’s Dim while loading control demonstrates the transition by
pausing its synthetic feed, freezing the current range, and replacing that range
when loading completes.
Dotted area fill
For a textured fill,areaDots paints a screen-fixed dot lattice clipped to the
area beneath the line (the line scrolls over the dots; nothing is drawn above
it). It composes with gradient, or use it alone with gradient={false}:
spacing (lattice pitch), size (dot diameter), color, and opacity.
Like gradient, it’s a line-mode feature (inert in candle mode).
Live example:
app/showcase/kraken.tsx
pairs the dotted area fill with a thin line, Y-axis labels, and a dashed scrub
crosshair.Curve & edges
By default the line is a smooth monotone cubic with rounded joins and caps. For an angular, hard-edged look — think the Robinhood tokenized-stock style — switch the interpolation tolinear and sharpen the corners:
curve ("monotone" | "linear"), join ("round" | "miter" | "bevel"),
and cap ("round" | "butt" | "square") are independent — e.g. keep the
smooth curve but flatten the ends with cap: "butt". curve: "linear" applies to
the area fill as well, so the gradient follows the same straight segments.
Live example:
app/showcase/robinhood.tsx
pairs all three for a fully hard-edged line.Denoising dense paths
Useline.simplify when dense samples make the plotted path look busier than the
screen can meaningfully show:
0 (the default) disables it;
0.75–1.5 is a useful starting range for subtle denoising.
See Line denoising for the raw-vs-simplified example,
tolerance guidance, multi-series overrides, and rendering-cost details.
Badge, dot, and value line
By default the chart draws a value badge at the tip, a pulsing live dot, and (optionally) a dashed value line across the plot.dot — the same DotConfig that LiveChartSeries uses. A soft
static glow is available separately and remains off unless explicitly enabled:
glow: true uses restrained defaults (radius: 7, blur: 5, opacity: 0.18,
dot fill color). A config object can tune every value or supply its own color.
The glow is a static Skia layer and starts no frame callback; pulse remains the
separate expanding-ring animation.
Most boolean-ish props accept
true (defaults), false (off), or a config object — for
example badge, pulse, valueLine, gradient, scrub, and yAxis.Live value overlay
Render the current value as large text in the top-left, optionally tinted by momentum:Formatting
Customize axis, badge, and tooltip text withformatValue and formatTime:
LiveChart reference.