Open In App

Matplotlib.figure.Figure.add_artist() in Python

Improve
Improve
Like Article
Like
Save
Share
Report

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The figure module provides the top-level Artist, the Figure, which contains all the plot elements. This module is used to control the default spacing of the subplots and top level container for all plot elements.

matplotlib.figure.Figure.add_artist() function

The add_artist() method figure module of matplotlib library is used to add any Artist to the figure.

Syntax: add_artist(self, artist, clip=False)

Parameters: This accept the following parameters that are described below:

  • artist : This parameter is the artist to add to the figure.
  • clip : This parameter is used to determines whether the added artist should be clipped by the figure patch.

Returns: This method return the added Artist

Below examples illustrate the matplotlib.figure.Figure.add_artist() function in matplotlib.figure:

Example 1:




# Implementation of matplotlib function
import numpy as np
np.random.seed(19680801)
import matplotlib.pyplot as plt
   
      
fig, ax = plt.subplots()
  
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)
   
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")
  
fig.add_artist(legend1)
   
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.figure.Figure.add_artist() \
function Example\n\n', fontweight ="bold")
  
plt.show()


Output:

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:
    fig.add_artist(e)
    e.set_clip_box(ax.bbox)
    e.set_alpha(np.random.rand())
    e.set_facecolor(np.random.rand(4))
   
ax.set_xlim(3, 7)
ax.set_ylim(3, 7)
   
fig.suptitle('matplotlib.figure.Figure.add_artist()\
 function Example\n\n', fontweight ="bold")
  
plt.show()


Output:



Last Updated : 30 Apr, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads