Open In App

Matplotlib.axes.Axes.draw_artist() in Python

Last Updated : 12 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report
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: Python3
# 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: Python3
# 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:

Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy