Expokit
AboutDocsComponentsChartsBlocksPricing
Sign inGet started
All chartsUsage & configPatterns & effectsShow / hide anythingChart themingInteractions

Cartesian

Area ChartBar ChartLine ChartCombo Chart

Circular

Pie & DonutRadial ChartRadar ChartPolar AreaPro

3D & Pixel

Isometric BarsProPixel BarsPro

Specialty

TreemapProWaterfallProBulletProTimelineProGaugeCandlestickHeatmapFunnel

Classic

SparklineProgress RingsMultiLine (classic)StackedBar (classic)Ranking Bars (classic)
Line Chart
Sponsor ExpoKit

Free stays free. Tip once — keep shipping.

Support
About
Docs
IntroductionWhat ExpoKit is and how it worksInstallationAdd ExpoKit to an Expo appThemingColours, radius and dark modeCLIinit, add, login and updateAI assistants (MCP)Cursor, Claude, Antigravity and moreRun on your phoneTry components in Expo GoChangelogWhat shipped recently
npx @expokit/cli@latest initQuick start
Components
Liquid Glass8 iOS 26 glass pieces3DNew14 tilt, flip and stack
Inputs 12
  • CalendarNew
  • Date PickerNew
  • Floating Input
  • OTP Input
  • Password Input
  • +7 more
Selection 7
  • Checkbox
  • Chip Group
  • Color SwatchPro
  • Radio Group
  • RatingPro
  • +2 more
Buttons 7
  • Button
  • Floating Action ButtonPro
  • Like ButtonPro
  • Morph ButtonPro
  • Shimmer ButtonPro
  • +2 more
Feedback 5
  • Alert
  • Progress
  • Skeleton
  • Spinner
  • Toast
Overlays 4
  • Action SheetNew
  • Bottom Sheet
  • Dialog
  • DrawerNew
Display 9
  • Accordion
  • Avatar
  • Badge
  • Card
  • CarouselPro
  • +4 more
Navigation 3
  • Bottom NavNew
  • Progress StepsNew
  • Tabs
Motion 2
  • Number TickerPro
  • Text Animation
70 components · 347 live variantsAll components
Charts

Cartesian

  • Area Chart
  • Bar Chart
  • Line Chart
  • Combo Chart

Circular

  • Pie & Donut
  • Radial Chart
  • Radar Chart
  • Polar AreaPro

3D & Pixel

  • Isometric BarsPro
  • Pixel BarsPro

Specialty

  • TreemapPro
  • WaterfallPro
  • BulletPro
  • TimelinePro
  • Gauge
  • Candlestick
  • Heatmap
  • Funnel

Classic

  • Sparkline
  • Progress Rings
  • MultiLine (classic)
  • StackedBar (classic)
  • Ranking Bars (classic)

Guides

  • Usage & config
  • Patterns & effects
  • Show / hide anything
  • Chart theming
  • Interactions
23 charts, built on the open-source expo-charts engineAll charts
Blocks

Screens

ChatProAn AI assistant chat screenCheckoutProA premium checkoutDashboardProA finance / analytics home screenInboxProA messaging inboxOnboardingProA minimal swipeable welcome flowProfileProAccount profile for any appSearch ResultsProA clean, monochrome search screenSettingsProAn iOS-style grouped settings screenSign InProOne configurable sign-in flow modelled on top mobile apps
9 complete screens — drop one in, wire your dataSee them on devices All blocks
Pricing
DocsCartesianLine Chart

Line Chart

Multi-series lines with four curve types, dot styles, glow, dashed targets, animated dashes and a projected last segment.

<LineSeriesChart />5 variants

Live — the real React Native component rendered with react-native-web. Tap, drag and scrub it.

Installation#

terminal
npx expo install expo-charts react-native-svg

Usage#

Import the component and pass your data. Width defaults to the parent, so it adapts to phones, tablets and rotation.

LineSeriesChart.tsx
<LineSeriesChart  data={data}  config={{ actual: { label: "Actual", glow: true }, target: { label: "Target", strokeVariant: "dashed" } }}  xKey="month"  curve="monotone"  dotVariant="border"  bufferLast/>

Props#

PropTypeDefault
curve

Interpolation.

"monotone" | "natural" | "linear" | "step""monotone"
strokeWidth

Line thickness.

number2
strokeVariant

Stroke style; animated dashes march.

"solid" | "dashed" | "animated-dashed""solid"
glow

Soft neon glow under the stroke.

booleanfalse
showDots

Point markers.

booleanline: true
dotVariant

Point marker style.

"default" | "border" | "colored-border" | "none""default"
activeDotVariant

Marker at the scrubbed point.

DotVariant"default"
bufferLast

Draws the last segment dashed (projection).

booleanfalse
dashedKeys

Keys drawn dashed.

string[][]

Shared cartesian props#

Every Area, Bar, Line and Combo chart also accepts these — this is where axes, grid, legend, tooltip, brush and loading live.

PropTypeDefault
data

Rows, e.g. [{ month: "Jan", desktop: 186 }].

Datum[]—
config

Series keys → { label, color, variant, strokeVariant, glow }.

ChartConfig—
xKey

Key of the category / x value in each row.

string—
keys

Subset and order of series to draw.

string[]all config keys
width

Omit to fill the parent and re-flow on rotation.

numberparent width
height

Chart height in points.

number220
showGrid

Horizontal grid lines.

booleantrue
gridStyle

Grid line style.

"solid" | "dashed""solid"
gridVertical

Vertical grid lines at categories.

booleanfalse
showXAxis

Category labels under the chart.

booleantrue
showYAxis

Value ticks.

booleanfalse
yAxisPosition

Side for the value axis.

"left" | "right""left"
yTickCount

Approximate number of ticks.

number4
backgroundVariant

dots, grid, cross-hatch, diagonal-lines, plus, tiny-checkers, wiggle-lines, bubbles.

BackgroundVariant"none"
showLegend

Legend under (or above) the chart.

booleanfalse
legendVariant

square, circle, circle-outline, rounded-square, rounded-square-outline, vertical-bar, horizontal-bar.

LegendVariant"rounded-square"
legendPosition

Where the legend sits.

"top" | "bottom""bottom"
legendAlign

Legend alignment.

"left" | "center" | "right""center"
legendMode

Tap to hide a series, or highlight it and dim the rest.

"toggle" | "select" | "none""toggle"
showTooltip

Floating tooltip while scrubbing / after a tap.

booleantrue
tooltipIndicator

Colour marker in tooltip rows.

"dot" | "line" | "dashed""dot"
tooltipVariant

Tooltip surface.

"default" | "frosted-glass""default"
tooltipRoundness

Tooltip corner radius.

"sm" | "md" | "lg" | "xl""lg"
showTooltipTotal

Adds a Total row.

booleanfalse
showLabels

Value labels on points / bars.

booleanfalse
animationType

rise, left-to-right, right-to-left, center-out, edges-in, none.

AnimationType"left-to-right" (bars: "rise")
isLoading

Pulsing skeleton with a Loading badge.

booleanfalse
showBrush

Range selector under the chart for long series.

booleanfalse
formatValue

Formats values in axes, labels and tooltip.

(v, key) => stringcompact (1.2k)
formatLabel

Formats category labels.

(x, index) => stringString(x)
onSelect

Fires while scrubbing and on tap (great for haptics).

(index, datum) => void—
onScrubStart / onScrubEnd

Pause your ScrollView while the finger scrubs.

() => void—
PreviousBar ChartNextCombo Chart

Did you like the content?