Where insightful charts
meet magical interactions
Connect to databases, fetch from cloud services, or just upload a file
See more with Observable’s fast, expressive visualization library
Add input controls to help you and your readers dig into your data
Say hello to Plot,
our simple, expressive charting tool
Concise, readable code…
Plot.line(data, {
  x: "date", 
  y: "price"
You can guess what it does at a glance. Focus on what you want to see in your data, not how to build every piece.
…endlessly expressive charts
A jagged line labeled “price” rising from 2014 to 2018, made with Observable Plot
Start seeing your data in seconds so you can move on to answering questions — and asking new ones.

Pull together an analytics dashboard the whole team can edit in a few minutes

A database connection combines with a slider input and a bar chart to create an interactive data app.

Send the link around, and anyone who has a question can add another chart to answer it. Soon it embodies the wisdom of the whole group.

Simpler code means more stakeholders can participate in exploratory data analysis.

Combine various marks and layers to form entirely new chart types

Making a familiar line or bar chart can be so quick with Plot that you might expect you’re stuck with a handful of basic chart types.

Instead, like a handful of words forming unlimited sentences, Plot embraces a “grammar of graphics” that gives you a rich vocabulary for visualization.

You can make a one-liner, or a fusion of elements you’ve never seen together before.

Customize everything with extensive configuration powered by D3

If you’re familiar with D3, you have a sense of how deep Plot’s options go.

You can use all the scales, all the color schemes, all the tick formats, all the curve interpolators. Add a legend or a brush in just a line.

And since it’s all JavaScript, it works great with lodash, simple-statistics, Arquero, or whatever other library you bring in.

Start discovering new insights
Get started for free