Hallo.
Es klingt simpel, aber ich konnte nicht herausfinden, wie man den Inhalt eines Grafikfensters von matplotlib entfernt. Es müsste doch so eine Art Clear-Routine geben, die alle Plots entfernt.
Ich bin für jede Hilfe dankbar.
matplotlib - plot löschen
Hoi,
nein, eine allgemeine Routine gibt es dafür nicht. Du müßtest uns schon sagen was Du versuchst zu machen: Benutzt Du einen Canvas in einem graphischen backend (wx, Tkinter, etc.)? Oder vielleicht ein einfaches Skript welches pylab importiert und nur dazu verwendet werden soll einen Plot nach dem anderen zu machen? Gib' doch demnächst etwas Code, damit man weiß, welche Module Du importierst.
Also, wenn Du nur pylab importierst und mehrere einfache Plots generieren willst, geht das so:
Andererseits stellt Dir matplotlib.figure eine clear()-Methode zur Verfügung:
Wahrscheinlich gibt es jetzt noch weitere Vorschläge, aber das Grundproblem bleibt: matplotlib hat kein "Graphikfenster", also müßtest Du uns erst erzählen, was Du machst, wenn man nicht raten soll.
Gruß,
Christian
nein, eine allgemeine Routine gibt es dafür nicht. Du müßtest uns schon sagen was Du versuchst zu machen: Benutzt Du einen Canvas in einem graphischen backend (wx, Tkinter, etc.)? Oder vielleicht ein einfaches Skript welches pylab importiert und nur dazu verwendet werden soll einen Plot nach dem anderen zu machen? Gib' doch demnächst etwas Code, damit man weiß, welche Module Du importierst.
Also, wenn Du nur pylab importierst und mehrere einfache Plots generieren willst, geht das so:
Code: Alles auswählen
import pylab as p
p.plot([1,2,3])
# irgendetwas Anderes, z. B. abspeichern des Plots
p.close()
# etwas Neues plotten:
p.plot([p.sin(x) for x in p.arange(10)])
#etc.
Code: Alles auswählen
from matplotlib.figure import Figure
fig = Figure(figsize=(7, 6), dpi=100)
fig.clear()
Gruß,
Christian