Monday, October 6, 2025
HomeLanguagesMatplotlib.artist.Artist.add_callback() in Python

Matplotlib.artist.Artist.add_callback() in Python

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Artist class contains Abstract base class for objects that render into a FigureCanvas. All visible elements in a figure are subclasses of Artist.

matplotlib.artist.Artist.add_callback() method

The add_callback() method in artist module of matplotlib library is used to add a callback function that will be called whenever one of the Artist’s properties changes.

Syntax: Artist.add_callback(self, func)

Parameters: This method accepts the following parameters.

  • func: This parameter is the callback function.

Returns: This method returns the observer id associated with the callback.

Below examples illustrate the matplotlib.artist.Artist.add_callback() function in matplotlib:

Example 1:




# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
import time
  
   
def update():
    plt.get_current_fig_manager().canvas.figure.patch.set_facecolor(str(np.random.random()))
    plt.draw()
    print("Draw at time :", time.time())
       
   
def start_animation():
       
    timer = fig.canvas.new_timer(interval = 50)
    timer.add_callback(update)
    timer.start()
   
fig = plt.figure()
start_animation()
         
fig.suptitle('matplotlib.artist.Artist.add_callback() \
function Example', fontweight ="bold"
  
plt.show()


Output:

python-matplotlib-add-callback

Example 2:




# 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 = plt.figure() 
plt.xlim([0, width])
plt.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 
    
    fig.add_artist(arti)
    fig.draw_artist(arti)
    fig.canvas.blit(fig.bbox) 
    print("Draw at time :", time.time()) 
     
timer = fig.canvas.new_timer(interval = 1
timer.add_callback(update) 
timer.start() 
         
fig.suptitle('matplotlib.artist.Artist.add_callback() \
function Example', fontweight ="bold"
  
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
32338 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6707 POSTS0 COMMENTS
Nicole Veronica
11871 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11936 POSTS0 COMMENTS
Shaida Kate Naidoo
6825 POSTS0 COMMENTS
Ted Musemwa
7089 POSTS0 COMMENTS
Thapelo Manthata
6779 POSTS0 COMMENTS
Umr Jansen
6781 POSTS0 COMMENTS