Skip to content

Python Stem Plot: How to Effortlessly Use and Fix Stem Plots


Python Stem Plot


In this tutorial, we will learn about stem plots in Python and how to create them using matplotlib. A stem plot, also known as a stem-and-leaf plot, is a method of visualizing data that represents each data point as a stem (vertical line) and a leaf (a marker or digit) to show the distribution of values. Stem plots are particularly useful when working with small to medium-sized datasets, as they provide a quick and easy way to understand the data’s shape.


To follow along with this tutorial, you will need to have Python installed on your machine. Additionally, we will be using the matplotlib library, so make sure you have it installed as well. If you haven’t installed matplotlib yet, you can do so by running the following command in your terminal or command prompt:

pip install matplotlib

Creating a Basic Stem Plot

To create a basic stem plot in Python, we first need to import the necessary libraries:

import matplotlib.pyplot as plt
import numpy as np

Next, let’s generate some data for our stem plot. In this example, we’ll use a list of numbers:

data = [5, 7, 3, 2, 8, 4, 6, 9, 1]

Now, we can create the stem plot using the stem function from matplotlib:


By running the above code, a stem plot will be displayed, with the x-axis representing the position of the data point in the list and the y-axis representing the value of each data point. Each stem represents a number, and its leaves represent the individual digits. The stem plot provides a visual representation of the distribution of the numbers in the dataset.

Customizing the Stem Plot

We can customize our stem plot by adding labels, changing the markers’ style, and modifying the axes’ appearance. Let’s look at some examples:

Adding Labels

To add labels to the x and y axes, as well as a title to the plot, we can use the following code:

plt.title('Stem Plot')

Changing Marker Style

By default, the stem plot uses a line for the stem and circles for the leaves. However, we can specify different marker styles using the marker parameter. For example, the code below changes the marker style to asterisks:

plt.stem(data, markerfmt='*')

Modifying the Axes Appearance

We can modify the appearance of the axes by changing the line style, color, and width. The example below shows how to change the line color to red and the width to 2 for both the stem and the leaves:

plt.stem(data, linefmt='r-', markerfmt='ro', basefmt='k-')


Stem plots are a useful tool for visualizing data distributions in Python. In this tutorial, we learned how to create stem plots using matplotlib and customize them by adding labels, changing marker styles, and modifying the axes’ appearance. By experimenting with different options, you can create stem plots that suit your specific needs.