Seite 1 von 1

matplotlib - plot löschen

Verfasst: Mittwoch 11. April 2007, 07:18
von kommando_pimperlepim
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.

Verfasst: Mittwoch 11. April 2007, 08:12
von CM
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:

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.
Andererseits stellt Dir matplotlib.figure eine clear()-Methode zur Verfügung:

Code: Alles auswählen

from matplotlib.figure import Figure
fig = Figure(figsize=(7, 6), dpi=100)
fig.clear()
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

Verfasst: Mittwoch 11. April 2007, 09:06
von Nirven
Je nachdem was du willst, helfen dir vielleicht auch

cla(*args, **kwargs)
Clear the current axes

und

clf()
Clear the current figure

weiter.