# Types of charts: choosing the right one

> The main types of charts (histograms, box plots, bar, pie, scatter and line charts): which question each one answers, how bin width and axes change the story, and the classic ways charts mislead.

- Course: [Statistics for Product Managers and Marketers](https://productovi.com/courses/statistics-for-pm-and-marketers.md)
- Module: Describing data
- Lesson 4/24, ~47 min
- Source: https://productovi.com/courses/statistics-for-pm-and-marketers/charts

## Start with the question, not the chart

Sooner or later everyone on CatChow's product team, you included, has to put a number on a slide. A good chart answers **one question** at a glance. A bad chart makes the reader work out what the question was. So before you open the chart menu, write down what you want the reader to see. Choosing between the types of charts gets much easier once you notice that nearly every product and marketing chart answers one of five questions:

| Question | Chart |
|---|---|
| How are the values of one metric **distributed**? | Histogram, box plot |
| How do **categories** compare? | Bar chart |
| What **share of a whole** does each part have? | Bar chart; a pie only for 2–4 parts |
| Are two metrics **related**? | Scatter plot |
| How does a metric **change over time**? | Line chart |

In this lesson we'll go through each of them with CatChow data: the 90-day customer spend from lesson 3, and a new dataset of weekly sessions and orders by marketing channel. At the end, you'll learn the most common ways charts mislead, so you can avoid them and spot them in other people's slides.

![A cat at a shelf of five simple chart shapes (bars, a hump, dots, a line, a pie) reaches for one, with a thought bubble showing a magnifying glass.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/charts-illustration-2.webp)

**Dataset (CSV):** [90-day spend of new CatChow customers](https://productovi.com/datasets/statistics-for-pm-and-marketers/charts/catchow-customer-spend.csv)

The same 24 customers as in lesson 3. Synthetic data made for this course.

- `customer_id`: Customer ID
- `spend_90d`: Total spend in the first 90 days, USD
- `orders_90d`: Number of orders in the first 90 days

## Distributions: frequency tables and histograms

To see the shape of one metric, first build a **frequency table**: split the range of values into equal **bins** and count how many observations fall into each. The count is the *absolute frequency*; divide by the total and you get the *relative frequency* (a percentage). With bins of \$50, the 24 customers look like this:

| 90-day spend | Customers | Share |
|---|---|---|
| 0–49 | 16 | 67% |
| 50–99 | 6 | 25% |
| 100–149 | 1 | 4% |
| 150–199 | 0 | 0% |
| 200–249 | 1 | 4% |

A **histogram** draws that table as touching bars: bin on the horizontal axis, count on the vertical. Bars touch because the bins are consecutive ranges of one continuous number. That is the key difference in **histogram vs bar chart**: a bar chart compares separate categories, so its bars stand apart.

**Bin width changes the story.** Compare the chart below with the one in lesson 3, which used \$20 bins on the same data. At \$50 the whole 20–60 hump collapses into one bar, and you can no longer see where most customers actually are. Too narrow bins cause the opposite problem: lots of tiny bars and random noise. A useful start is 5–15 bins, then try a couple of widths before choosing. If you have many values, a **frequency polygon** (a line joining the tops of the bars) is a lighter alternative, and it lets you overlay two groups.

**The same 24 customers with 50 USD bins**

| Spend in 90 days, USD | Customers |
| --- | --- |
| 0–49 | 16 |
| 50–99 | 6 |
| 100–149 | 1 |
| 150–199 | 0 |
| 200–249 | 1 |

*Wide bins hide the shape: compare with the 20 USD bins in lesson 3, where the peak at 20–40 USD and the gradual tail are visible.*

## Box and whisker plots: five numbers in one picture

A **box plot** (box-and-whisker plot) squeezes a distribution into five numbers plus the outliers. For our 24 customers:

| Element | What it shows | Value |
|---|---|---|
| Lower whisker | Smallest value inside the fences | \$12 |
| Bottom of the box | $Q_1$ | \$24 |
| Line inside the box | Median | \$35 |
| Top of the box | $Q_3$ | \$56 |
| Upper whisker | Largest value inside the fences (\$104) | \$93 |
| Dots | Outliers beyond the fences | \$110, \$240 |

Reading it takes practice, but it pays off. The box is the middle 50% of customers. A median line close to the bottom of the box, and a long upper whisker with dots above it, signal a right skew, which is exactly what we found in lesson 3.

Box plots are at their best when you **compare groups side by side**. Picture lesson 2's couriers: courier A's box would be a thin sliver from 23 to 26 hours; courier B's a tall box from 18 to 30 with whiskers from 14 to 38. One glance, no averages needed. Box plots of delivery times by region, order values by channel, or session lengths by app version work the same way.

> **What a box plot can't show**
>
> Five numbers can't show two peaks: a distribution with a cluster of households at \$25 and a cluster of cafés at \$200 can produce a perfectly ordinary-looking box. With small samples, also show the individual points, or add a histogram.

**Dataset (CSV):** [CatChow sessions and orders by channel, 4 weeks](https://productovi.com/datasets/statistics-for-pm-and-marketers/charts/catchow-channel-weeks.csv)

Weekly sessions and orders for five marketing channels. Synthetic data made for this course.

- `week_start`: Monday the week starts on (YYYY-MM-DD)
- `channel`: seo = organic search, meta_ads = paid social, google_ads = paid search, email = newsletter, referral = links from partner sites
- `sessions`: Sessions on the site
- `orders`: Orders placed

## Comparing categories: bar charts

**Bar charts** compare a number across categories: orders by channel, revenue by product line, tickets by reason. A few rules make them much easier to read:

- **Sort the bars** by value, unless the categories have a natural order (like months or plan tiers).
- **Start the value axis at zero.** A bar's length *is* the message. Cut the axis and the lengths lie.
- **Use horizontal bars** when the labels are long, so people don't have to tilt their heads.
- **Label directly** instead of forcing the eye back and forth to a legend.

The chart below compares two shares for each channel over four weeks: its share of sessions and its share of orders. The question it answers is *"Which channels bring more orders than their traffic would suggest?"*

**Email brings 9% of sessions but 21% of orders**

| Channel | Share of sessions, % | Share of orders, % |
| --- | --- | --- |
| SEO | 42.25 | 35.2 |
| Google Ads | 18.75 | 22.4 |
| Email | 8.75 | 21 |
| Meta Ads | 26.25 | 17.2 |
| Referral | 4 | 4.2 |

*Share of sessions vs share of orders by channel, four weeks combined. Channels are sorted by number of orders.*

## Parts of a whole: think twice before the pie

A **pie chart** shows how a whole splits into parts. It works when there are **two to four** parts and one of them clearly dominates ("62% of orders come from mobile"). Beyond that it falls apart: people compare angles and areas far less accurately than lengths, so 17% and 21% slices look the same, and with seven slices nobody can put them in order. Never use a 3D pie; the tilt distorts the slice sizes.

For most "share" questions a sorted bar chart is simply better, like the one above. If you need to show both the parts and the total, a single stacked bar also works.

![A confused cat squints at a pie with many thin, similar slices, while another cat happily points to a neat row of bars sorted by length.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/charts-illustration-3.webp)

## Scatter plots: are two metrics related?

To see whether two numbers move together, put one on each axis and draw **one dot per observation**. That's a **scatter plot**. Below, each dot is one channel in one week: sessions on the horizontal axis, orders on the vertical.

Notice what the scatter reveals that a table hides: the dots don't form one cloud but **clusters**, one per channel. More sessions generally mean more orders, but at very different rates. The email dots sit high above the others despite having few sessions. When a scatter shows clusters, the grouping variable (here, the channel) is usually part of the story.

Need a third variable? A **bubble chart** makes the dot size encode it (for example, ad spend). Use it sparingly: bubble areas are hard to compare precisely. A scatter plot shows a relationship, not a cause. Module 5 is entirely about that difference.

**Weekly sessions and orders: each dot is one channel in one week**

| Sessions per week | Orders |
| --- | --- |
| 4000 | 84 |
| 2500 | 40 |
| 1800 | 54 |
| 800 | 48 |
| 400 | 11 |
| 4300 | 90 |
| 2600 | 42 |
| 1900 | 57 |
| 900 | 54 |
| 420 | 11 |
| 4100 | 86 |
| 2700 | 46 |
| 1850 | 55 |
| 850 | 51 |
| 380 | 10 |
| 4500 | 92 |
| 2700 | 44 |
| 1950 | 58 |
| 950 | 57 |
| 400 | 10 |

*Five clusters, one per channel. The four email weeks (about 800–950 sessions, 48–57 orders) convert far better than the four Meta Ads weeks (about 2,500–2,700 sessions, 40–46 orders).*

## Change over time: line charts

For a metric tracked over time, use a **line chart**: time runs left to right, and the line's slope shows direction and speed at a glance. Keep the time steps even (don't mix days and weeks on one axis), and mark events that explain jumps, such as a launch, a sale or a tracking change.

The chart below shows CatChow's total weekly orders. Notice the value axis: it starts at zero. Total orders grew from 237 to 261, about 10% in four weeks. That's real, steady growth, and the chart shows it at its true size.

**Weekly orders grew about 10% in four weeks**

| Week starting | Orders, all channels |
| --- | --- |
| 2026-08-31 | 237 |
| 2026-09-07 | 254 |
| 2026-09-14 | 248 |
| 2026-09-21 | 261 |

## How charts mislead

Charts feel objective, which makes them powerful tools for persuasion, honest or not. These are the tricks you'll meet most often. Don't use them, and learn to spot them:

1. **A truncated axis.** Draw the same weekly orders on an axis that starts at 230 instead of 0, and the rise from 237 to 261 looks like the line has quadrupled. For bar charts it's always misleading, because bar length is the message. For line charts a non-zero start can be fine, as long as it's clearly labelled and the change is meaningful at its real size.
2. **Percentages without the base.** "60% of vets recommend our new food" sounds great, until you learn that 3 of 5 vets were asked. Always show *n* next to a percentage.
3. **A cherry-picked time window.** Start the chart right after a bad week and any trend looks like growth. Show enough history for the reader to judge.
4. **Drowning a series.** Put a small metric on the same axis as one ten times bigger and its changes disappear. That can hide a real problem (like refunds doubling) behind a big, calm line.
5. **Stretching or squeezing the axes.** The same data looks dramatic on a narrow, tall chart and flat on a wide, short one. Keep proportions honest and similar across charts you want people to compare.
6. **Dual axes.** Two lines with two different scales can be made to cross, diverge or move together at will. Use two separate charts instead.

Clutter misleads too, just more quietly. Remove anything that carries no information (3D effects, heavy gridlines, decorative icons), keep colours to about three, and use colour to highlight what matters, not to decorate.

![A surprised cat looks into a funhouse mirror where a short blue bar beside it appears as a towering orange one.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/charts-illustration-4.webp)

*Same data, distorted frame.*

> **Make the title say the takeaway**
>
> "Orders by channel" describes the chart. "Email brings 9% of sessions but 21% of orders" tells the reader what to see, and it forces you to check that the chart really shows it. Busy stakeholders often read only the titles.

## A checklist before you share a chart

- Does the chart answer **one clear question**, and does the title state the answer?
- Is it the **right type** for that question (distribution, comparison, share, relationship, trend)?
- Does the bar axis **start at zero**? Are the time steps even?
- Is the **sample size** visible wherever you show percentages or averages?
- Can you remove anything without losing information? Then remove it.
- If you show averages with **error bars**, does the caption say whether they are SD, standard error or a confidence interval? (You'll meet the last two in modules 2 and 3.)

That wraps up module 1. You can now describe any metric with a typical value, a spread, a clear view of its shape and outliers, and an honest chart. Module 2 moves from describing data to comparing groups: when is a difference between two numbers real, and when is it just noise?

## Exercises

Answer them on the lesson page to get feedback.

1. Match each question to the chart that answers it best.

2. You want to compare the **distribution** of delivery times for three couriers in one compact chart, including their medians and outliers. Which chart do you choose?

3. Starting a bar chart's value axis at 80 instead of 0 is a harmless way to make small differences easier to see.

4. Using the dataset **CatChow sessions and orders by channel, 4 weeks**: what share of all orders over the four weeks came from **email**?

5. Using the dataset **90-day spend of new CatChow customers**, build a frequency table with \$25 bins (0–24, 25–49, 50–74, …). How many customers fall into the **25–49** bin?

6. Which of these practices make a chart **misleading**? Select all that apply.

7. Your chart shows each channel's share of sessions next to its share of orders. Leadership will look at the slide for 30 seconds. Which title do you give it?

8. CatChow's weekly orders rose from 237 to 261. Someone plots them on a value axis that starts at **230** instead of 0. On that chart, how many times higher does the last point sit above the axis than the first one? Round to two decimals.

9. For which of these is a **pie chart** a reasonable choice?

10. A colleague's slide shows **traffic by source as a 3D pie chart with nine slices** in nine colours, titled "Traffic sources". Suggest how to improve it in 2–4 sentences.

11. Describe the one chart you'd put on the slide: its type, what goes on each axis, the title, and one caveat you'd add underneath.

- Previous lesson: [Outliers and skewed data: how to find them](https://productovi.com/courses/statistics-for-pm-and-marketers/outliers-and-skew.md)
- Next lesson: [Sample vs population and the normal distribution](https://productovi.com/courses/statistics-for-pm-and-marketers/samples-and-normal-distribution.md)

---
Productovi Learning. Free, no sign-up needed to read.
