Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Matplotlib legend in subplot

  • Last Updated : 28 Nov, 2021

In this article, we will discuss how Matplotlib can be employed to add legends in subplots. We can add the legend after making the plot  by using legend() function

Syntax:

axes[position].legend(loc='best')

where, loc is the location and the  ‘best’ places the legend at the location

Approach:

  • Use subplots() method to create subplots in a bigger plot.
  • Use legend() method to add label to the curves.
  • Then show the plots using show() method.

Example 1:

In this example,  the scatter graph is plot with subplots of sine and cos.

Python3




# importing modules
from matplotlib import pyplot
import numpy
  
# assign value to x axis
x_axis = numpy.arange(1, 20, 0.5)
  
# get the value of log10
y_axis_log10 = numpy.log10(x_axis)
  
# get the value of exp
y_axix_exp = numpy.exp(x_axis)
  
# create subplots using subplot() method
fig, axes = pyplot.subplots(2)
  
# depicting the visualization
axes[0].plot(x_axis, y_axis_log10, color='green', label="log10")
axes[1].plot(x_axis, y_axix_exp, color='blue', label="exp")
  
# position at which legend to be added
axes[0].legend(loc='best')
axes[1].legend(loc='best')
  
# display the plot
pyplot.show()

Output:

Example 2:

In this example, the scatter graph is plot with subplots of (y=x^2) and (y=x^3).

Python3




# importing modules
from matplotlib import pyplot
import numpy
  
# assign value to x axis
x_axis = numpy.arange(-2, 2, 0.1)
  
# get the value of sine
y_axis_sine = numpy.sin(x_axis)
  
# get the value of cos
y_axix_cose = numpy.cos(x_axis)
  
# create subplots using subplot() method
fig, axes = pyplot.subplots(2)
  
# depicting the visualization(scatter)
axes[0].scatter(x_axis, y_axis_sine, color='green', marker='*', label="sine")
axes[1].scatter(x_axis, y_axix_cose, color='blue', marker='*', label="cos")
  
# position at which legend to be added
axes[0].legend(loc='best')
axes[1].legend(loc='best')
  
# display the plot
pyplot.show()

Output: 

Example 3:

Python3




# importing modules
from matplotlib import pyplot
  
# assign value to x axis
x_axis = list(range(-10, 10))
  
# get the value of x*x
y_axis1 = [x*x for x in x_axis]
  
# get the value of x*x*x
y_axix2 = [x*x*x for x in x_axis]
  
# create subplots using subplot() method
fig, axes = pyplot.subplots(2)
  
# depicting the visualization
axes[0].scatter(x_axis, y_axis1, color='green', marker='*', label="y=x^2")
axes[1].scatter(x_axis, y_axix2, color='red', marker='*', label="y=x^3")
  
# position at which legend to be added
axes[0].legend(loc='best')
axes[1].legend(loc='best')
  
# display the plot
pyplot.show()

Output:


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!