Matplotlib.artist.Artist.remove_callback() in Python
Matplotlib ist eine Bibliothek in Python und eine numerisch-mathematische Erweiterung für die NumPy-Bibliothek. Die Artist-Klasse enthält eine abstrakte Basisklasse für Objekte, die in FigureCanvas gerendert werden. Alle sichtbaren Elemente in einer Figur sind Unterklassen von Artist.
matplotlib.artist.Artist.remove_callback() -Methode
Die Methode remove_callback() im Künstlermodul der matplotlib-Bibliothek wird verwendet, um eine Rückruffunktion hinzuzufügen, die aufgerufen wird, wenn sich eine der Eigenschaften des Künstlers ändert.
Syntax: Artist.remove_callback (self, oid)
Parameter: Diese Methode akzeptiert die folgenden Parameter.
- oid: Dieser Parameter ist die Beobachter-ID.
Rückgabe : Diese Methode gibt das Entfernen eines Rückrufs basierend auf seiner Beobachter-ID zurück.
Die folgenden Beispiele veranschaulichen die Funktion matplotlib.artist.Artist.remove_callback() in matplotlib:
Beispiel 1:
import
matplotlib.pyplot as plt
import
numpy as np
import
time
def
update():
global
timer
plt.get_current_fig_manager().canvas.figure.patch.set_facecolor(
str
(np.random.random()))
plt.draw()
def
start_animation():
global
it
timer
=
fig.canvas.new_timer(interval
=
50
)
w
=
timer.add_callback(update)
timer.start()
timer.remove_callback(w)
it
=
1
fig
=
plt.figure()
start_animation()
fig.suptitle('matplotlib.artist.Artist.remove_callback()\
function Example', fontweight
=
"bold"
)
plt.show()
Ausgabe:
Beispiel 2:
from
random
import
randint, choice
import
time
import
matplotlib.pyplot as plt
import
matplotlib.patches as patches
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()
it
=
1
def
update():
global
it
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)
if
it >
100
:
timer.remove_callback(w)
it
+
=
1
timer
=
fig.canvas.new_timer(interval
=
1
)
w
=
timer.add_callback(update)
timer.start()
fig.suptitle('matplotlib.artist.Artist.remove_callback() \
function Example', fontweight
=
"bold"
)
plt.show()
Ausgabe: