Open In App

Matplotlib.axes.Axes.add_artist() in Python

Last Updated : 21 Apr, 2020
Like Article

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.

matplotlib.axes.Axes.add_artist() Function

The Axes.add_artist() function in axes module of matplotlib library is used to add an Artist to the axes, and return the artist.

Syntax: Axes.add_artist(self, a)

Parameters: This method accepts the following parameters.

  • a: This parameter is the legend which is produced by legend() function .

Return value: This method returns the artist.

Below examples illustrate the matplotlib.axes.Axes.add_artist() function in matplotlib.axes:

Example 1:

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
volume = np.random.rayleigh(27, size = 40)
amount = np.random.poisson(10, size = 40)
ranking = np.random.normal(size = 40)
price = np.random.uniform(1, 10, size = 40)
fig, ax = plt.subplots()
scatter = ax.scatter(volume * 2, amount * 3,
                     c = ranking * 3
                     s = 0.3*(price * 3)**2,
                     vmin =-4, vmax = 4,
                     cmap ="Spectral")
legend1 = ax.legend(*scatter.legend_elements(num = 5),
                    loc ="upper left"
                    title ="Ranking")
kw = dict(prop ="sizes", num = 5,
          color = scatter.cmap(0.7),
          fmt =" {x:.2f}",
          func = lambda s: np.sqrt(s/.3)/3)
legend2 = ax.legend(*scatter.legend_elements(**kw),
                    loc ="lower right",
                    title ="Size")
fig.suptitle('matplotlib.axes.Axes.add_artist() \
function Example\n\n', fontweight ="bold")


Example 2:

# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse
NUM = 200
ells = [Ellipse(xy = np.random.rand(2) * 10,
                width = np.random.rand(),
                height = np.random.rand(),
                angle = np.random.rand() * 360)
        for i in range(NUM)]
fig, ax = plt.subplots(subplot_kw ={'aspect': 'equal'})
for e in ells:
ax.set_xlim(3, 7)
ax.set_ylim(3, 7)
fig.suptitle('matplotlib.axes.Axes.add_artist() \
function Example\n\n', fontweight ="bold")


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads