# Make the Legend of the Scatter Plot in Matplotlib

Legend is simply the description of various elements in a figure. We can generate a legend of scatter plot using the `matplotlib.pyplot.legend` function.

## Add a Legend to the 2D Scatter Plot in Matplotlib

``````import numpy as np
import matplotlib.pyplot as plt

x=[1,2,3,4,5]

y1=[i**2 for i in x]
y2=[2*i+1 for i in x]

plt.scatter(x,y1,marker="x",color='r',label="x**2")
plt.scatter(x,y2,marker="o",color='b',label="2*x+1")
plt.legend()
plt.show()
``````

Output: We have two separate scatter plots in the figure: one represented by `x` and another by the `o` mark. We assign the `label` to each scatter plot used as a tag while generating the legend. Then, we create the legend in the figure using the `legend()` function and finally display the entire figure using the `show()` method.

We can also directly pass a tuple of labels as an argument to the `legend()` method and change the legend’s position using the `loc` parameter of the `legend()` method.

``````import numpy as np
import matplotlib.pyplot as plt

x=[1,2,3,4,5]

y1=[i**2 for i in x]
y2=[2*i+1 for i in x]

plt.scatter(x,y1,marker="x",color='r')
plt.scatter(x,y2,marker="o",color='b')
plt.legend(("x**2","2*x+1"),loc="center left")
plt.show()
``````

Output: This process creates a figure with two scatter plots and a legend placed at the `center left` of the axes’ border-box.

## Add a Legend to the 3D Scatter Plot in Matplotlib

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

x=[1,2,3,4,5]
y=[2,1,4,5,6]

z1=[i+j for (i,j) in zip(x,y)]
z2=[3*i-j for (i,j) in zip(x,y)]

axes = plt.subplot(111, projection='3d')
axes.plot(x,y,z1,"x",label="x+y")
axes.plot(x,y,z2,"o",label="3*x-y")

plt.legend(loc="upper left")
plt.show()
``````

Output: To create a legend for `3D` scatter plot, we use the `plot()` method instead of the `scatter()` method; it’s because the `legend()` method does not support `Patch3DCollection` returned by the `scatter()` method of the `Axes3D` instance.

Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.

## Related Article - Matplotlib Scatter Plot

• Matplotlib Label Scatter Points
• Plot Points in Matplotlib
• ## Related Article - Matplotlib Legend

• Matplotlib Legend Title
• Matplotlib Label Scatter Points