Wednesday, October 8, 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
32341 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6709 POSTS0 COMMENTS
Nicole Veronica
11874 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11937 POSTS0 COMMENTS
Shaida Kate Naidoo
6832 POSTS0 COMMENTS
Ted Musemwa
7091 POSTS0 COMMENTS
Thapelo Manthata
6782 POSTS0 COMMENTS
Umr Jansen
6785 POSTS0 COMMENTS