Matplotlib Title Löschen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sirvival
User
Beiträge: 6
Registriert: Mittwoch 13. Juli 2011, 15:17

Donnerstag 2. August 2012, 14:57

Hallo,
ich habe ein Plotfenster in dem mit Hilfe eines Sliders ein Update des Plots durchgeführt wird.

Zum Löschen setzte ich die einzelnen Matplotlib Speicher Bereiche auf leer (sonst bekomme ich früher oder später Speicher Probleme)
Funktioniert auch wunderbar mit einzelnen Elementen.
Bekomme es mit jedem beliebigen Plot hin z.B. auch pcolor (ist dann name.collections = [])
Nur beim Title bekomme ich dass nicht hin.

Habe hier mal ein stark vereinfachstes Beispiel.

Plot:

Code: Alles auswählen

from numpy import *
import matplotlib.pylab as mpl
mpl.ion()

a = arange(10)
b = arange(12)
c = arange(1,11,1)
d = arange(1,13,1)

fig = mpl.figure(0,facecolor="white")
ax_spec0 = fig.add_subplot(121)
ax_spec1 = fig.add_subplot(122)
        
ax_spec0.plot(a, 'b')
ax_spec1.plot(b,'g')
fig.text(.5,.97, "marker ", ha='center')
mpl.draw()
Plot Update:

Code: Alles auswählen

fig.text = []
ax_spec0.lines = []
ax_spec1.lines = []
   
ax_spec0.plot(c, 'b')
ax_spec1.plot(d,'r')
mpl.draw()

Wie finde ich überhaupt heraus was alles schon / noch im Speicher von matplotlib ist?

mpl.clf() funktioniert nicht so wie ich möchte da dann alles weg ist.
Müsste dann die subplots nochmal erzeugen.
Und der Slider wäre auch weg und müsste neu erzeugt werden.


Gruß und Danke
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Donnerstag 2. August 2012, 16:55

@sirvival: Was du suchst ``cla()``:

Code: Alles auswählen

ax_spec0.cla()
ax_spec1.cla()
Grüße
Gerrit
sirvival
User
Beiträge: 6
Registriert: Mittwoch 13. Juli 2011, 15:17

Montag 6. August 2012, 09:52

Hi,
dass löscht aber nicht den Plottitel (bzw. "Marker") sondern nur die Linien.

Wenn ich erneut
fig.text(.5,.97, "marker ", ha='center')
ausführe wird er alte Titel überplottet (nicht dass was ich möchte).

Wie lösche ich den Titel?


Gruß
Antworten