How to Draw and Interpret Histograms
A histogram looks like a bar chart, but it works differently: the area of each bar shows the frequency, and the bars can have different widths. This page shows you how to draw a histogram using frequency density, how to read a frequency back from a bar, and how to estimate the frequency in part of a class. Worked examples and a practice room with randomised questions are below.The big idea: area, not height
A histogram is not a bar chart. The vertical axis is frequency density, and the area of each bar gives the frequency.
What makes a histogram different
A histogram looks like a bar chart, but it is used for grouped continuous data where the groups (classes) can have different widths. The crucial difference: in a histogram it is the area of each bar that represents the frequency, not its height.
To make the areas work out correctly, the height of each bar is the frequency density, not the frequency. This is what stops a wide class from looking more important than it really is just because it covers more of the axis.
\[\text{frequency density} = \frac{\text{frequency}}{\text{class width}}\]
Rearranged to read a frequency back from a bar:\[\text{frequency} = \text{freq density} \times \text{class width}\]
The three things you will be asked
Drawing a histogram
- Find each class width (upper boundary minus lower boundary).
- Divide each frequency by its class width to get the frequency density.
- Label the vertical axis "frequency density", not "frequency".
- Draw each bar at its frequency density height, with no gaps between bars.
Worked examples
💡 Example 1: drawing a histogram from a table
The table shows the ages of people attending an event. Draw a histogram.
| Class | Frequency | Class width | Freq density |
|---|---|---|---|
| 0 to 10 | 8 | 10 | 8 ÷ 10 = 0.8 |
| 10 to 15 | 18 | 5 | 18 ÷ 5 = 3.6 |
| 15 to 25 | 30 | 10 | 30 ÷ 10 = 3.0 |
| 25 to 40 | 15 | 15 | 15 ÷ 15 = 1.0 |
What's happening?
The classes have different widths, so plotting raw frequencies would be misleading. Dividing by the class width gives the frequency density, which is plotted as the bar height. The 10–15 class is narrow but tall because 18 values are packed into a width of only 5.
💡 Example 2: reading a frequency from a bar
The histogram shows the heights of some plants. How many plants are in the class 20 to 25?
\[\begin{array}{rcl}\text{frequency} &=& 2.4 \times 5\\ &=& 12\end{array}\]
There are 12 plants in the class 20 to 25.
What's happening?
The highlighted bar has height 2.4 (frequency density) and covers a width of 5 (from 20 to 25). Multiplying height by width gives the area, which is the frequency.
💡 Example 3: part of a class
The histogram shows the distances people travelled to a show. Estimate how many people travelled between 30 and 40 miles.
The class 30 to 50 has frequency density 1.5. The part from 30 to 40 has width 10:
\[1.5 \times 10 = 15\]
An estimate of 15 people travelled between 30 and 40 miles.
What's happening?
We assume values are spread evenly inside the bar, so any sub-interval uses the same frequency density. Multiply by just the sub-interval width. This is an estimate because we do not know the exact spread inside the class.
💡 Example 4: finding the total frequency
Using the same histogram as Example 1, find the total number of people.
Read each frequency (area of each bar) and add:
\[\begin{aligned} &0\text{ to }10:&& 0.8 \times 10 = 8\\ &10\text{ to }15:&& 3.6 \times 5 = 18\\ &15\text{ to }25:&& 3.0 \times 10 = 30\\ &25\text{ to }40:&& 1.0 \times 15 = 15 \end{aligned}\]
Total \(= 8 + 18 + 30 + 15 = 71\)
What's happening?
The total frequency is the sum of all the bar areas. Multiply each bar's frequency density by its class width to get its frequency, then add them all.
💡 Example 5: completing a histogram from a table
The table and histogram show the same data, but the bar for the class 20 to 30 is missing from the histogram. Find its frequency density and draw the missing bar.
| Class | Frequency |
|---|---|
| 0 to 10 | 15 |
| 10 to 20 | 30 |
| 20 to 30 | 20 |
| 30 to 50 | 20 |
\[\begin{array}{rcl}\text{freq density} &=& \dfrac{20}{10}\\ &=& 2\end{array}\]
Draw the missing bar at height 2.
What's happening?
When the table gives a frequency and the histogram is incomplete, calculate frequency density and draw the bar. Moving the other way also works: read a bar height and multiply by the class width to complete the table.
🔑 Key points
- Bar area represents frequency, not height.
- Height is frequency density = frequency ÷ class width.
- To read a frequency: frequency density × class width.
- For part of a class, use the width of just that part.
- Bars touch with no gaps, because the data is continuous.
⚠ Common pitfalls
- Plotting frequency instead of frequency density.
- Labelling the vertical axis "frequency".
- Forgetting that classes can have different widths.
- Leaving gaps between bars (that is a bar chart, not a histogram).
- Using the whole class width when only part of the class is asked for.