Back to Python
2026-01-096 min read

Matplotlib Labels (Python Programming)

Learn Matplotlib Labels (Python Programming) step by step with clear examples and exercises.

Title: Matplotlib Labels (Python Programming)

Why This Matters

Matplotlib is a popular Python library for data visualization, and understanding how to properly label your plots is crucial for conveying your data effectively. Properly labeled plots can help you communicate complex information in an easily understandable way, making it essential for both academic and professional purposes. In this lesson, we will learn how to add labels to various elements of a Matplotlib plot, including the title, x-axis, y-axis, and legend.

Prerequisites

To follow along with this lesson, you should have some basic understanding of Python programming and be familiar with the Matplotlib library. If you are not already familiar with Matplotlib, we recommend checking out our previous lessons on Matplotlib Basics and Matplotlib Line Plots before proceeding.

Core Concept

Matplotlib provides several functions for adding labels to your plots. In this section, we will cover the following topics:

  1. Setting the plot title
  2. Labeling the x-axis
  3. Labeling the y-axis
  4. Adding a legend
  5. Formatting labels

1. Setting the plot title

To set the title of your plot, you can use the title() function. This function takes a string argument that will be displayed as the title of your plot. Here is an example:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 9]

plt.title('Sample Plot Title')
plt.plot(x, y)
plt.show()

In this example, we create a simple line plot with some sample data and set the title to 'Sample Plot Title'. The plt.show() function is used to display the plot.

2. Labeling the x-axis

To label the x-axis, you can use the xlabel() function. This function takes a string argument that will be displayed as the label for the x-axis. Here is an example:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 9]

plt.title('Sample Plot Title')
plt.xlabel('Sample X-axis Label')
plt.plot(x, y)
plt.show()

In this example, we set the x-axis label to 'Sample X-axis Label'.

3. Labeling the y-axis

To label the y-axis, you can use the ylabel() function. This function takes a string argument that will be displayed as the label for the y-axis. Here is an example:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 9]

plt.title('Sample Plot Title')
plt.xlabel('Sample X-axis Label')
plt.ylabel('Sample Y-axis Label')
plt.plot(x, y)
plt.show()

In this example, we set the y-axis label to 'Sample Y-axis Label'.

4. Adding a legend

To add a legend to your plot, you can use the legend() function. This function takes a list of strings that will be used as labels for each line in the plot. Here is an example:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 9]
y2 = [4, 6, 8, 10, 12]

plt.title('Sample Plot Title')
plt.xlabel('Sample X-axis Label')
plt.ylabel('Sample Y-axis Label')
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
plt.legend()
plt.show()

In this example, we create two lines with different data and set the labels for each line using the label argument in the plot() function. We then use the legend() function to display the legend.

5. Formatting labels

Matplotlib provides several functions for formatting labels, including font_manager, rcParams, and xticks(). These functions allow you to customize the font, size, color, and other properties of your labels. Here is an example:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 9]

plt.title('Sample Plot Title', fontsize=20)
plt.xlabel('Sample X-axis Label', fontproperties=FontProperties(size=16))
plt.ylabel('Sample Y-axis Label', fontproperties=FontProperties(size=16))
plt.plot(x, y)
plt.xticks(fontproperties=FontProperties(size=14))
plt.yticks(fontproperties=FontProperties(size=14))
plt.show()

In this example, we set the title font size to 20 and use the FontProperties class to set the font size of the x-axis label, y-axis label, and tick labels to 16. We also set the font size of the tick labels to 14 using the xticks() function.

Worked Example

Now that we have covered the basics of adding labels to Matplotlib plots, let's work through an example together. In this example, we will create a bar plot showing the number of books sold by different authors and add appropriate labels to the plot.

import matplotlib.pyplot as plt

authors = ['Author A', 'Author B', 'Author C']
books_sold = [20, 30, 40]

plt.title('Book Sales by Author')
plt.xlabel('Author')
plt.ylabel('Number of Books Sold')
plt.bar(authors, books_sold)
plt.xticks(rotation=45)
plt.show()

In this example, we create a bar plot with the number of books sold by three authors and add appropriate labels to the plot using the title(), xlabel(), ylabel(), and bar() functions. We also rotate the x-axis tick labels using the xticks() function.

Common Mistakes

  1. Forgetting to call plt.show(): Remember to call plt.show() at the end of your code to display the plot.
  2. Not setting the x-axis label: Make sure to set the x-axis label using the xlabel() function to avoid confusion about what the x-axis represents.
  3. Not setting the y-axis label: Make sure to set the y-axis label using the ylabel() function to accurately represent the scale of your data.
  4. Forgetting to rotate the x-axis tick labels: If you have a lot of categories on the x-axis, consider rotating the tick labels using the xticks(rotation=45) function to make them easier to read.
  5. Not formatting labels: Take advantage of Matplotlib's formatting functions to customize the font, size, color, and other properties of your labels for a more professional-looking plot.

Practice Questions

  1. Create a line plot showing the population growth of a city over time and add appropriate labels to the plot.
  2. Create a scatter plot showing the relationship between height and weight for a group of people and add appropriate labels to the plot.
  3. Create a bar chart comparing the sales of different products in a store and add appropriate labels to the plot.
  4. Create a pie chart showing the breakdown of expenses for a household and add appropriate labels to the plot.
  5. Create a histogram showing the distribution of exam scores for a class and add appropriate labels to the plot.

FAQ

  1. How do I change the font size of my labels? You can use the font_manager module in Matplotlib to change the font size of your labels. Here is an example:
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

plt.rcParams['font.size'] = 16
plt.title('Sample Plot Title')
plt.xlabel('Sample X-axis Label', fontproperties=FontProperties(size=14))
plt.ylabel('Sample Y-axis Label', fontproperties=FontProperties(size=14))

In this example, we set the default font size for all labels using plt.rcParams['font.size']. We then use the FontProperties class to set the font size of the x-axis label to 14.

  1. How do I rotate my x-axis tick labels? You can rotate your x-axis tick labels using the xticks() function and setting the rotation argument. Here is an example:
import matplotlib.pyplot as plt

plt.xticks(rotation=45)

In this example, we rotate all x-axis tick labels by 45 degrees using the xticks() function with the rotation argument set to 45.

  1. How do I change the color of my labels? You can change the color of your labels using the rcParams module in Matplotlib and setting the text.color parameter. Here is an example:
import matplotlib.pyplot as plt

plt.rcParams['text.color'] = 'red'
plt.title('Sample Plot Title')

In this example, we set the color of all text in our plot to red using the rcParams module with the text.color parameter set to 'red'.

Matplotlib Labels (Python Programming) | Python | XQA Learn