Choosing a chart
Choose the visual from the question and the grain of the data, then add only the interactions that help answer it.
Match the question
| Question | Start with | Watch for |
|---|---|---|
| How did a measure change? | LineChart / AreaChart | Sort and normalize time values; show gaps honestly. |
| Which categories lead? | BarChart / BarList | Use a common zero baseline and keep category labels readable. |
| What is the distribution? | Histogram / BoxPlot | Bin width and group size can change the apparent story. |
| Are two measures related? | ScatterPlot | Overplotting and outliers; correlation is not a causal claim. |
| Where are the hotspots? | Heatmap / CalendarHeatmap | State the color scale and show exact values in a table. |
| How do parts form a whole? | DonutChart | A few nonnegative parts; use bars when close comparisons matter. |
| Where do users drop out? | Funnel | Use consistent cohorts and define every stage. |
| How does volume flow? | Sankey | Validate source/target links and explain the unit of flow. |
| What are the exact records? | DataTable | A clear default sort, units and a bounded page size. |
| What needs attention? | KPI / KPIGroup | A defined time period, comparison and target. |
Choose a small number of publishers
Start with a time brush and one category breakdown. Add FilterBar so people can see and remove the active predicates. Other views read the selection automatically. More publishers are useful only if their filtering meaning is clear.
Keep fields consistent across rows and give each publisher its own source. Read Linked selections before mixing different datasets.
Offer a precise alternative
For full charts, view="table" presents the same numbers in a visible table. A Sparkline is a compact summary and has no table fallback, so always place the number it summarizes beside it.
See Accessible charts for naming, keyboard navigation and testing guidance.
Report an issueBuilt Oct 21, 2026