Business Intelligence
When to Use Different Types of Graphs: A Practical Guide
Which graph should you use? A practical guide to bar, line, scatter, histogram, box, heatmap, treemap, and waterfall charts, with a selection table.
Use a bar chart to compare categories, a line chart to show change over time, a scatter plot to test a relationship between two variables, a histogram to show the shape of a distribution, and a stacked bar or area chart for part-to-whole comparisons across groups. The chart type follows from two things only: the structure of your data and the question you are answering. Everything else, including which chart looks impressive in a board deck, is decoration.
This guide covers the chart types worth knowing, when each one is the right answer, when it is the wrong one, and a three-step framework for choosing quickly. It is written for analysts and data teams who present numbers to people who will make decisions with them.
The Three-Step Framework for Choosing a Graph
Step 1: Identify the Shape of Your Data
Before thinking about charts, name what you have. One categorical variable and one number? Comparison. A date column? Time series. Two continuous numbers per row? Relationship. One continuous number and many rows? Distribution. Categories that sum to a meaningful total? Composition. Rows tied to places? Geography. Each shape rules out most chart types immediately.
Step 2: Name the Question in One Sentence
"Which region sold the most?" is a comparison. "Is revenue growing?" is a trend. "Do bigger accounts churn less?" is a relationship. "Are our delivery times consistent?" is a distribution. If you cannot state the question in one sentence, no chart will rescue the analysis. This step also gives you the chart title: a good title states the finding, not the axes.
Step 3: Consider the Audience and the Format
An analyst reading a notebook can handle a dense small-multiples grid. An executive reading on a phone can handle roughly one idea per chart. Formats matter too: a chart that will be printed cannot rely on hover tooltips, and a chart that will be viewed on a projector needs larger type and fewer series. When in doubt, cut series until the point survives.
Comparison Charts
Bar and Column Charts
The most reliable chart in existence. Human perception judges length far more accurately than angle, area, or color, which is why a bar chart beats a pie chart for almost every comparison. Use horizontal bars when category labels are long or numerous, vertical columns when the categories have a natural order such as months.
Use it when: comparing a value across categories. Avoid when: you have more than about twenty categories, at which point sort, group the tail into "other", or switch to a table. The one rule people break: bar charts must start at zero. Truncating the axis makes a three percent difference look like a fifty percent difference.
Grouped and Stacked Bars
Grouped bars compare subcategories side by side; stacked bars show composition within each category. Stacked bars have a known weakness: only the bottom segment sits on a common baseline, so segments above it are hard to compare across categories. If comparing the second segment matters, use grouped bars or small multiples instead.
Time-Series Charts
Line Charts
Lines are the default for anything measured repeatedly over time. The connection between points implies continuity, which is exactly right for a metric that exists between measurements and exactly wrong for unrelated categories. Keep to about four or five series before the chart becomes spaghetti; beyond that, use small multiples.
Use it when: showing trend, seasonality, or the effect of an intervention. Avoid when: your x-axis is categorical. Note: unlike bar charts, line charts do not have to start at zero, since the subject is change rather than magnitude. Label the axis clearly when it does not.
Area and Stacked Area Charts
An area chart is a line chart with the region below it filled, useful for cumulative volume. Stacked areas show how composition shifts over time, and share the stacked-bar caveat: only the bottom band is easy to read. Never use a stacked area chart when series can go negative.
Relationship Charts
Scatter Plots
A scatter plot puts one variable on each axis and one dot per record, which makes it the fastest way to see correlation, clusters, and outliers at once. Add a trend line only when the relationship is plausibly linear, and resist the urge to describe correlation as causation in the caption.
Use it when: testing whether two numeric variables move together. Avoid when: you have so many points that the plot becomes a solid block; use transparency, sampling, or a density plot instead.
Bubble Charts
A scatter plot with a third variable encoded as dot size. It works for three dimensions when the third is a magnitude such as revenue or headcount. Size is perceived poorly, so treat the third variable as context rather than as the finding, and scale by area rather than radius.
Heatmaps
A grid where color encodes value. Heatmaps are excellent for dense two-dimensional patterns, such as activity by hour and day of week, or a correlation matrix. Use a sequential palette for magnitude and a diverging one when there is a meaningful midpoint like zero. Colorblind-safe palettes are not optional.
Distribution Charts
Histograms
A histogram bins a single continuous variable and shows how many records fall in each bin. It answers questions an average cannot: is the distribution skewed, bimodal, or full of outliers? Bin width changes the story, so try several before settling. A histogram is not a bar chart; the bars touch because the axis is continuous. For the full distinction, see when to use a histogram versus a bar graph.
Box Plots
Box plots compress a distribution into median, quartiles, and outliers, which makes them the right tool for comparing distributions across many groups at once, such as delivery time by warehouse. They hide multimodality, so pair them with a histogram when the shape matters.
Part-to-Whole Charts
Pie and Donut Charts
Pie charts work in exactly one situation: two or three segments where the split is obvious and precision does not matter. Beyond that, angle comparison fails and the chart becomes decorative. If you need to compare shares across time or groups, use bars. Our guide on when to use a pie chart covers the narrow cases where it earns its place.
Treemaps
Treemaps use nested rectangles sized by value to show hierarchical composition, such as revenue by category and subcategory. They handle many more segments than a pie chart and reveal the hierarchy at a glance. Area is still perceived imprecisely, so use them to show structure, not to support close comparisons.
Waterfall Charts
Waterfalls show how a starting value becomes an ending value through a sequence of additions and subtractions. They are the natural chart for bridging last quarter's revenue to this quarter's, or explaining a margin change. Keep the steps in logical order and color increases and decreases distinctly.
Specialized Charts
Geographic maps (choropleths) shade regions by value and are right when the pattern is genuinely spatial. Normalize by population or another denominator, otherwise you are mapping where people live. Funnel charts show stage-to-stage conversion; label both absolute counts and conversion rates. Radar charts compare several attributes for a small number of items, but the enclosed area is misleading because it depends on axis order; a grouped bar chart is usually clearer. Gauges occupy a lot of space to display a single number, which a large number and a small sparkline do better.
Chart Selection Table
Chart type | Data shape | Question it answers | Avoid when |
|---|---|---|---|
Bar / column | Categories with one value each | Which is biggest? How do groups compare? | Many dozens of categories; truncated axis |
Grouped bar | Categories with subcategories | How do subgroups compare within each group? | More than three or four subgroups |
Stacked bar | Categories summing to a total | What makes up each category? | Comparing non-baseline segments precisely |
Line | Continuous measure over time | Is it going up or down? Is there seasonality? | Categorical x-axis; more than five series |
Area / stacked area | Volume or composition over time | How has the mix shifted? | Series that can be negative |
Scatter | Two numeric variables per record | Do these move together? Any outliers? | Overplotted dense data without transparency |
Bubble | Three variables, third a magnitude | How do size, x, and y relate? | Precise comparison of the third variable |
Histogram | One continuous variable, many records | What is the distribution shape? | Categorical data; too few records |
Box plot | Distribution across several groups | Which group varies most? Where are outliers? | Multimodal data; non-technical audiences |
Heatmap | Two dimensions plus a value | Where are the hot spots? | Few data points; non-accessible palettes |
Pie / donut | Parts of one whole | Roughly what share is this? | More than three segments; comparing across groups |
Treemap | Hierarchical composition | How does the hierarchy break down? | Precise value comparison |
Waterfall | Sequential additions and subtractions | What drove the change from A to B? | Non-sequential or unordered contributions |
Map | Values tied to places | Where is the pattern concentrated? | Unnormalized counts; non-spatial questions |
Five Mistakes That Ruin Otherwise Good Charts
Truncated bar axes. Bars encode magnitude by length. Start them at zero or use a different chart.
Dual y-axes. Two scales on one plot lets the author manufacture any correlation they want by adjusting the ranges. Use two stacked charts sharing an x-axis instead.
Too many series. If a reader has to consult the legend repeatedly, the chart has failed. Highlight one or two series and gray the rest, or use small multiples.
Color as decoration. Color should encode something. Rainbow palettes for ordered data and red-green pairs that exclude colorblind readers are both avoidable.
Titles that describe the axes. "Revenue by Month" tells the reader nothing they cannot see. "Revenue Grew 12% After the April Price Change" tells them the finding.
For a broader treatment, see our data visualization best practices and guide to choosing the right charts.
Letting the Analysis Pick the Chart
In practice the chart type is usually implied by the query. If your SQL groups by a date column, you are looking at a time series. If it groups by a category and aggregates one measure, it is a comparison. If it selects two numeric columns without aggregation, it is a relationship.
That is why chart selection is a natural fit for an analytics agent that writes the query. In Querio, the agent writes real SQL and Python for each question and renders charts with Vega-Lite through Altair inside a reactive notebook, where connected cells mean the chart updates automatically when the underlying SQL changes. You can override the choice, because the chart specification is code you can read and edit rather than a hidden setting, and a chart worth keeping goes onto a board without being rebuilt. More on that workflow in how AI turns SQL into charts.
FAQs
What is the single most useful chart type?
The bar chart. Length is the visual property humans compare most accurately, it works for almost any categorical comparison, and it fails gracefully. If you are unsure what to use, start with bars and only move on when the question genuinely calls for something else.
When should I use a table instead of a chart?
When readers need exact values, when there are more than about fifteen rows to compare, or when the data has many dimensions people will scan rather than read as a shape. Tables with inline sparklines or subtle bars in cells often outperform a chart for operational reporting.
Do line charts always need to start at zero?
No. Line charts show change, so a zoomed axis is legitimate and often necessary to see the trend. Bar charts are different: they encode magnitude by length, so a truncated axis actively misleads. Label the axis clearly either way.
How many series can one chart hold?
Four or five before comprehension degrades. Beyond that, use small multiples, one small chart per series in a grid, which lets readers compare shapes without decoding a legend.
How do I make charts accessible?
Do not rely on color alone: add direct labels, patterns, or shapes. Use colorblind-safe palettes, keep text large enough to read at the size it will actually be viewed, and write alt text that states the finding rather than describing the chart type.
Watch
Sources and further reading
Related reading

