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: