How to make a stemplot

When you compare them to histograms or boxplots, stemplots (or stem and leaf plots) are much more simple and straightforward to not only put together but also to read. This, along with the fact that you don’t lose information about individual data values is one of the benefits of a stemplot. The only real downside to selecting a stemplot to represent your data set is that it can be overly complex for large data sets and look kind of goofy if the range of your data set is small (I’ll explain this after we see how to make one).


So let’s use the following small, made-up data set to see how to make a stemplot.

6 12 4 14 35 33 35 37 18 42
45 38 34 34 42 51 58 50 68 72

Step 1: Pick your “stems” and “leaves”

Each of the numbers in your data set can be viewed as being made up of two parts: a stem and a leaf. You want to pick it so that the leaf will be one digit (the reason for this will make sense in a minute). For this data set, the tens digit will be the stem and the ones digit will be the leaf.

stem and leaf

For single digit numbers, we will use a zero as a placeholder for the tens digit. The picture below shows how we will think about this for the first data value of 6.

stem and leaf 2

Step 2: Draw a vertical bar with all of the stems on the left

This step sounds much more complicated than it actually is. We want to look at our data set and figure out the smallest and the largest stems. We will count up without skipping any numbers at all. For this data set:

Smallest value: 6 (so the smallest stem is 0)
Largest value: 72 (so the largest stem is 7)

So on the left of our bar we will write out all the whole numbers from 0 to 7.


That’s way easier once you actually see it right? Notice that even though we don’t have any data values in the 20s that I still put a 2 there. You shouldn’t skip any values!

Step 3: Put each leaf next to its stem, in order

For this step, it might be helpful to put your data set in order from smallest to largest. Here is our original data set.

6 12 4 14 35 33 35 37 18 42
45 38 34 34 42 51 58 50 68 72

Here is the same data set in order from smallest to largest.

4 6 12 14 18 33 34 34 35 35
37 38 42 42 45 50 51 58 68 72

You can do this all at once, but just to make sure you see where all the numbers are coming from, let’s do it in a couple of steps. First, let’s put the 4 and 6 on the plot.


Now you see what I mean by “put the value next to its stem in order”. Now to finish this, we will continue the same process. Since there are no values with a stem of 2, we just skip that. Also, whenever there are repeats, we will just list the leaf part twice. So you don’t have to scroll, here is the finished stemplot along with the data set.

4 6 12 14 18 33 34 34 35 35
37 38 42 42 45 50 51 58 68 72


Also, notice that we added a title (though here this is made up data, so it is a boring title!) and a key. Every stemplot should have a key because it could be that the data values are decimals and a stem of 3 and a leaf of 4 represents 3.4 and not 34! Without a key, how would we know?

Finally, as I mentioned, for some data sets a stemplot might not be as useful. You can probably imagine that if there were 1000 data values that this would be tough to read and seem busy. But also, imagine if all of the values had the same stem! What if your data set was 100, 108, 109, 109, 109, 108, 107, 106, 104… well you get the idea…? Then your stemplot wouldn’t be much better than a list of numbers. There are ways around this (breaking up the stem into two or three parts) but in the end, it might be better to use something like a dotplot for a data set like this.