A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/matplotlib-pyplot-legend-in-python/ below:

Matplotlib.pyplot.legend() in Python - GeeksforGeeks

Matplotlib.pyplot.legend() in Python

Last Updated : 12 Jul, 2025

A legend is an area describing the elements of the graph. In the Matplotlib library, there’s a function called legend() which is used to place a legend on the axes. In this article, we will learn about the Matplotlib Legends.

Python Matplotlib.pyplot.legend() Syntax

Syntax: matplotlib.pyplot.legend(["blue", "green"], bbox_to_anchor=(0.75, 1.15), ncol=2)

Attributes:

Matplotlib.pyplot.legend() in Python

Matplotlib.pyplot.legend() function is a utility given in the Matplotlib library for Python that gives a way to label and differentiate between multiple plots in the same figure

The attribute Loc in legend() is used to specify the location of the legend. The default value of loc is loc= "best” (upper left). The strings ‘upper left’, ‘upper right’, ‘lower left’, and ‘lower right’ place the legend at the corresponding corner of the axes/figure.

The attribute bbox_to_anchor=(x, y) of the legend() function is used to specify the coordinates of the legend, and the attribute ncol represents the number of columns that the legend has. Its default value is 1.

Python Matplotlib legend() Function Examples

Below are some examples that can see the Matplotlib interactive mode setup using Matplotlib.pyplot.legend() in Python:

Add a Legend to a Matplotlib

In this example, a simple quadratic function \( y = x^2 \) is plotted against the x-values [1, 2, 3, 4, 5]. A legend labeled "single element" is added to the plot, clarifying the plotted data.

Python
import numpy as np 
import matplotlib.pyplot as plt 

# X-axis values 
x = [1, 2, 3, 4, 5] 

# Y-axis values 
y = [1, 4, 9, 16, 25] 

# Function to plot 
plt.plot(x, y) 

# Function add a legend 
plt.legend(['single element']) 

# function to show the plot 
plt.show() 

Output :

Change the Position of the Legend

In this example, two data series, represented by `y1` and `y2`, are plotted. Each series is differentiated by a specific color, and the legend provides color-based labels "blue" and "green" for clarity.

Python
# importing modules
import numpy as np
import matplotlib.pyplot as plt

# Y-axis values
y1 = [2, 3, 4.5]

# Y-axis values
y2 = [1, 1.5, 5]

# Function to plot
plt.plot(y1)
plt.plot(y2)

# Function add a legend
plt.legend(["blue", "green"], loc="lower right")

# function to show the plot
plt.show()

Output :

Combine Multiple labels in legend

In this example, two curves representing `y1` and `y2` are plotted against the `x` values. Each curve is labeled with a distinct legend entry, "Numbers" and "Square of numbers", respectively, providing clarity to the viewer.

Python
import numpy as np
import matplotlib.pyplot as plt

# X-axis values
x = np.arange(5)

# Y-axis values
y1 = [1, 2, 3, 4, 5]

# Y-axis values
y2 = [1, 4, 9, 16, 25]

# Function to plot
plt.plot(x, y1, label='Numbers')
plt.plot(x, y2, label='Square of numbers')

# Function add a legend
plt.legend()

# function to show the plot
plt.show()

Output :

Plotting Sine and Cosine Functions with Legends in Matplotlib

In this example, both the sine and cosine functions are plotted against the range [0, 10] on the x-axis. The plot includes legends distinguishing the sine and cosine curves, enhancing visual clarity.

Python
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 1000)
fig, ax = plt.subplots()

ax.plot(x, np.sin(x), '--b', label='Sine')
ax.plot(x, np.cos(x), c='r', label='Cosine')
ax.axis('equal')

leg = ax.legend(loc="lower left")

Output:

Place the Legend Outside the Plot in Matplotlib

In this example, two functions y = x and y = 3x are plotted against the x-values. The legend is strategically positioned above the plot with two columns for improved layout and clarity.

Python
# importing modules
import numpy as np
import matplotlib.pyplot as plt

# X-axis values
x = [0, 1, 2, 3, 4, 5, 6, 7, 8]

# Y-axis values
y1 = [0, 3, 6, 9, 12, 15, 18, 21, 24]
# Y-axis values
y2 = [0, 1, 2, 3, 4, 5, 6, 7, 8]

# Function to plot
plt.plot(y1, label="y = x")
plt.plot(y2, label="y = 3x")

# Function add a legend
plt.legend(bbox_to_anchor=(0.75, 1.15), ncol=2)
plt.show()

Output:



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4