Interactive line
Every trend has a story. Make it clear.
Recharts for dashboards. D3 for bespoke control. Google Charts for geo and timelines.
Install the source, customize everything, and own every chart you ship.
pnpm dlx shadcn@latest registry add @plotcnThe right tool for every plot.
In your repo. Under your control.
From a phone to a full canvas.
Keyboard, contrast, clarity.
Thoughtful defaults. Remarkable possibilities. Find your next visualization.
Every trend has a story. Make it clear.
See the bigger picture, one series at a time.
Statistical geographic distributions across nations and territories.
Part to whole. Nothing lost in the middle.
Smooth enterprise metrics powered by Google Charts core engine.
Find a rhythm in the everyday.
From familiar axes to entirely new perspectives.
Declarative React dashboards, low-level canvas geometry, or mature geographic choropleths.
You shouldn’t have to choose between speed, control, and reach.
From data to dashboard, beautifully fast.
When your data calls for a different kind of canvas.
Battle-tested charting and geographic choropleths.
Not another dependency to work around. A starting point that becomes part of your codebase. Read it, change it, make it unmistakably yours.
pnpm dlx shadcn@latest registry add @plotcnRun in a React project with shadcn/ui initialized. The CLI adds the registry configuration and components.
Inspect the registry file01import { PlotLineChart } from "@/components/charts/plot-line-chart"02 03const data = [04 { label: "Jan", value: 1200 },05 { label: "Feb", value: 1800 },06 { label: "Mar", value: 2600 },07]08 09export function Chart() {10 return (11 <div style={{ height: 280 }}>12 <PlotLineChart data={data} label="Sessions" area={false} />13 </div>14 )15}Follow the connections. Change the layout. See where your curiosity takes you.
Find the right shape for your data.
One command adds the source.
It lives in your repo. Read every line.
Change the details that matter.
Build something worth looking at.
The chart adapts to its container. The experience makes room for people.
Container-aware sizing, adaptive ticks, and compact layouts.
Keyboard navigation, visible focus, and touch-friendly controls.
Data summaries, solid and dashed series, and reduced-motion support.
One component. A different point of view. Use CSS variables to make the entire canvas belong in your product.
#101012#fafafa#a1a1aa#28282dCombine the same building blocks into an interface that works together.
A little perspective on the big picture.
| Source | Value | Share |
|---|---|---|
| Direct | 18,420 | 43% |
| Organic search | 14,230 | 33% |
| Referral | 10,210 | 24% |
Inspect a component. Suggest a better interaction. Build a visualization we haven’t imagined. Plotcn is a place to make that work visible.
Built for React. Made to be yours.