You can modify different properties of a plot — color, size, label, title and so on — when working with Matplotlib.

In this article, you'll learn what a legend is in Matplotlib, and how to use some of its parameters to make your plots more relatable.

You'll then learn how to change the font size of a Matplotlib legend using:

• The `fontsize` parameter.
• The `prop` parameter.

What Is a Legend in Matplotlib?

A legend is a Matplotlib function used to describe elements that make up a graph.

Consider the graph below:

``````import matplotlib.pyplot as plt

# create a plot
x = [1, 4, 6, 8]
y = [2, 5, 6, 2]

plt.plot(x, y)

plt.legend(["Data"], loc="upper right")

plt.show()``````

In the graph above, we described the plot using a `legend`. A description of "Data" was assigned to the legend, and was placed in the upper right corner of the graph using the `upper right` value of the `loc` parameter.

With the `legend` function, you can assign different descriptions to each line of a graph.

Here's an example:

``````import matplotlib.pyplot as plt

age = [1, 4, 6, 8]
number = [4, 5, 6, 2, 1]

plt.plot(age)
plt.plot(number)

plt.legend(["age", "number"], loc ="upper right")

plt.show()``````

In the graph above, we've used the `legend` function to describe each line in the plot.

This makes it easier for anyone viewing the graph to know that the blue line denotes `age` while the orange line denotes `number` in the graph.

You can change the position of the legend using the following values of the `loc` parameter:

• `best`
• `upper right`
• `upper left`
• `lower left`
• `lower right`
• `right`
• `center left`
• `center right`
• `lower center`
• `upper center`
• `center`

How To Change Legend Font Size in Matplotlib Using the `fontsize` Parameter

You can change the font size of a Matplotlib legend by specifying a font size value for the `fontsize` parameter.

Here's what the default legend font size looks like:

``````import matplotlib.pyplot as plt

age = [1, 4, 6, 8]
number = [4, 5, 6, 2, 1]

plt.plot(age)
plt.plot(number)

plt.legend(["age", "number"], loc ="upper right")

plt.show()``````

Here's another code example with the `fontsize` parameter included:

``````import matplotlib.pyplot as plt

age = [1, 4, 6, 8]
number = [4, 5, 6, 2, 1]

plt.plot(age)
plt.plot(number)

plt.legend(["age", "number"], fontsize="20", loc ="upper left")

plt.show()``````

Here's what the legend would look like:

We assigned a font size of 20 to the `fontsize` parameter to get the legend size in the image above: `fontsize="20"`.

You'd also notice the legend was placed at the upper left corner of the graph using the `loc` parameter.

How To Change Legend Font Size in Matplotlib Using the `prop` Parameter

Another way of changing the font size of a legend is by using the `legend` function's `prop` parameter.

Here's how to use it:

``````import matplotlib.pyplot as plt

age = [1, 4, 6, 8]
number = [4, 5, 6, 2, 1]

plt.plot(age)
plt.plot(number)

plt.legend(["age", "number"], prop = { "size": 20 }, loc ="upper left")

plt.show()``````

Using the `prop` parameter, we specified a font size of 20: `prop = { "size": 20 }`.

Here's the output:

Summary

In this article, we talked about the `legend` function in Matplotlib. It can be used to describe the elements that maker up a graph.

We first saw what a legend is in Matplotlib, and some examples to show its basic usage and parameters.

We then saw how to use the `fontsize` and `prop` parameters to change the font size of a Matplotlib legend.

Happy coding!