How do you choose the right chart type for a dashboard?
You choose the right chart type by naming the question first, then picking the chart that answers it with the least effort for the reader. "How has revenue changed since January?" is a trend question, so it's a line. "Which plan brings in the most revenue?" is a comparison, so it's a bar. The data could be drawn either way; the question decides.
This is the same question-first approach that runs through our dashboard design guide. Charts are the middle layer of a dashboard. The KPI row above them says how things are, the charts show what changed and where, and the tables below let people act.
Write the question in words
One sentence the chart must answer, such as "Is churn getting better or worse this quarter?"
Name the question type
Trend, comparison, composition, relationship, distribution, flow or lookup. Most dashboard questions are the first two.
Pick from the decision table
Use the table below to find the default chart for that question type.
Check the data shape
Count the categories and time points. Too many categories may push a bar chart into a table or a top-N view.
Title it with the answer
Write a chart title that states the finding, then check the chart actually shows it.
Which chart should you use? The dashboard chart types decision table
Use this table to match the question to a chart. It covers the dashboard chart types most product teams need, with a sensible default and a common alternative for each. If two options fit, choose the simpler one; your readers have seen more bar and line charts than anything else, so they read them fastest.
Question type | Example question | Default chart | Alternative | Avoid |
|---|---|---|---|---|
Trend over time | How is MRR changing? | Line chart | Column chart for few periods | Pie, area with many series |
Compare categories | Which plan earns most? | Horizontal bar | Column chart | Pie with many slices |
Part of a whole | What share is enterprise? | Stacked bar | Donut with two or three parts | 3D pie |
Composition over time | How is the plan mix shifting? | Stacked column | 100% stacked column | Stacked area with many layers |
Conversion steps | Where do trials drop off? | Horizontal bar funnel | Funnel chart | Pie |
Relationship | Does usage predict renewal? | Scatter plot | Bubble chart | Dual-axis line |
Distribution | How long do tickets take? | Histogram | Box plot for experts | Average alone |
Cohorts and retention | Do newer cohorts retain better? | Cohort table with shading | Retention curves | Single average line |
Single value vs target | Are we on track this month? | KPI card with delta | Bullet chart | Gauge |
Exact values, action | Which accounts are at risk? | Table | List with inline sparklines | Any chart |
The last two rows are worth noting: many dashboard questions are better answered without a chart at all. A single number against a target belongs in a KPI card, and anything people will act on row by row belongs in a well-designed data table.
What is the best chart for comparison?
The best chart for comparison is usually a horizontal bar chart sorted from largest to smallest. People compare lengths along a common baseline very accurately, horizontal bars leave room for long category names, and sorting puts the answer at the top. Use vertical columns when the categories are time periods, so time reads left to right.
- Sort by value unless the categories have a natural order, like plan tiers or age groups.
- Start the axis at zero. A bar's length is the value, so a truncated axis misleads.
- Label bars directly with their values instead of making readers trace back to an axis.
- Limit the count. Past roughly a dozen categories, show the top items and group the rest as "Other", or switch to a table.
- Highlight one bar in the accent color when the point is a single category, such as your plan or this month.
Which charts work for common SaaS metrics like MRR, funnels and usage?
SaaS metrics mostly map to a handful of charts: lines for MRR and usage trends, stacked bars for MRR movements, horizontal bars for funnels, and cohort tables for retention. Getting these defaults right covers the core of most SaaS analytics dashboards.
SaaS metric | Recommended chart | Why |
|---|---|---|
MRR or ARR over time | Line chart | Shows direction and pace of growth |
MRR movements | Stacked or waterfall bars | Separates new, expansion, contraction and churn |
Trial or signup funnel | Horizontal bars per step | Drop-off between steps is easy to see |
Retention by cohort | Cohort table with color shading | Compares cohorts and months at once |
Daily or weekly active users | Line chart, weekly granularity | Smooths daily noise, shows trend |
Feature adoption | Sorted horizontal bar | Ranks features by usage |
Usage vs plan limit | Progress bar or bullet chart | Shows how close to the limit |
Revenue by plan or segment | Sorted bar or stacked bar | Comparison or composition |
Deep dive: why weekly granularity often beats daily
Daily active user charts often show a sawtooth pattern: high on weekdays, low on weekends. That pattern is real, but it hides the trend people usually care about. A weekly line shows whether usage is growing.
Offer daily as an option for people who need it, such as an on-call team watching for outages, and default to weekly for everyone else. The same logic applies to revenue: monthly is the natural grain for MRR, and a daily MRR chart mostly shows billing-day spikes.
How do you make a data visualization dashboard readable?
You make a data visualization dashboard readable by removing everything that isn't data, labelling directly and keeping encodings consistent. A chart is readable when someone can get its point in a few seconds without hovering, reading a legend or asking what the colors mean.
- Remove chart junk. Drop heavy gridlines, borders, background fills, 3D effects and shadows.
- Label directly. Put series names at the end of lines and values on bars where space allows.
- Use color for meaning. Grey for context, one accent for the series that matters, red and green only for bad and good.
- One y-axis. Dual-axis charts let you imply relationships that aren't there. Use two small charts instead.
- State units and periods. "USD, monthly" in the subtitle saves a lot of confusion.
- Design for accessibility. Don't rely on color alone, and check contrast. Our accessible design basics cover contrast and color use.
Type matters as much as the chart. Axis labels, tick values and tooltips need a clear, consistent size and tabular figures. Our guide to type and spacing scales for product UI covers sizes that hold up in dense dashboards.
When should you use a table instead of a chart?
Use a table instead of a chart when people need exact values, need to look up a specific item, or will take action on individual rows. Charts are for patterns; tables are for precision and action. A list of 40 accounts with renewal dates is a table, even if the data could technically be plotted.
Pros
- Exact values without hovering
- Sortable and filterable
- Room for many attributes per item
- Rows can carry actions like edit, assign or export
Cons
- Patterns and trends are hard to spot
- Less scannable at a glance
- Needs careful density and alignment to stay readable
A good compromise is a table with small inline visuals: a sparkline for each row's trend or a bar for each row's share. That gives you precision and pattern together without a separate chart.
How do you build these charts in a React dashboard?
In a React dashboard, you'll usually build charts with an established charting library rather than drawing them from scratch, and theme it with your design tokens so colors and type match the rest of the product. The design decisions in this guide translate directly into library settings: axis start, label placement, color per series and tooltip content.
Two build details matter more than the library choice. First, design the chart's states: loading, no data, one data point and an error. Second, make chart colors come from the same tokens as the rest of the UI so dark mode works without a separate chart palette. Our comparison of shadcn/ui vs a custom design system covers how a token-based component set handles this. For text alternatives and chart accessibility patterns, the W3C Web Accessibility Initiative is the primary reference.
