Matplotlib.figure.Figure.add_artist() in Python
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:
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:
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
Share your thoughts in the comments
Please Login to comment...