Saturday, September 6, 2025
HomeLanguagesMatplotlib.axes.Axes.draw_artist() in Python

Matplotlib.axes.Axes.draw_artist() in Python

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.draw_artist() Function

The Axes.draw_artist() function in axes module of matplotlib library is used to efficiently update Axes data.

Syntax: Axes.draw_artist(self, a)

Parameters: This method accepts the following parameters.

  • a: This parameter is the artist to be draw.

Returns: This method does not return any value.

Note: This method can only be used after an initial draw which caches the renderer.

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

Example 1:




# Implementation of matplotlib function 
from random import randint, choice
import time
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
  
  
back_color = "black"
colors = ['red', 'green', 'blue', 'purple']
width, height = 4, 4
  
fig, ax = plt.subplots()
ax.set(xlim =[0, width], ylim =[0, height])
  
fig.canvas.draw()
  
def update():
    x = randint(0, width - 1)
    y = randint(0, height - 1)
  
    arti = mpatches.Rectangle(
        (x, y), 1, 1,
        facecolor = choice(colors),
        edgecolor = back_color
    )
    ax.add_artist(arti)
  
    start = time.time()
    ax.draw_artist(arti)
    fig.canvas.blit(ax.bbox)
    print("Draw at time :", time.time() - start)
  
timer = fig.canvas.new_timer(interval = 1)
timer.add_callback(update)
timer.start()
  
ax.set_title('matplotlib.axes.Axes.draw_artist()\
 function Example') 
  
plt.show() 


Output:

Draw at time : 0.37501978874206543
Draw at time : 0.015624046325683594
Draw at time : 0.03127431869506836
Draw at time : 0.015625953674316406
Draw at time : 0.015601396560668945
Draw at time : 0.015614986419677734
........
so on...

Example 2:




# Implementation of matplotlib function 
import matplotlib.pyplot as plt
import numpy as np
import time
  
  
fig, ax = plt.subplots()
line, = ax.plot(np.random.randn(100))
  
tstart = time.time()
num_plots = 0
fig.canvas.draw()
  
while time.time()-tstart < 5:
    line.set_ydata(np.random.randn(100))
    ax.draw_artist(ax.patch)
    ax.draw_artist(line)
    num_plots += 1
      
ax.set_title('matplotlib.axes.Axes.draw_artist() \
function Example') 
  
plt.show() 


Output:

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32270 POSTS0 COMMENTS
Milvus
82 POSTS0 COMMENTS
Nango Kala
6639 POSTS0 COMMENTS
Nicole Veronica
11803 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11869 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7029 POSTS0 COMMENTS
Thapelo Manthata
6705 POSTS0 COMMENTS
Umr Jansen
6721 POSTS0 COMMENTS