2012-05-11 9 views
13

Estoy tratando de usar suptitle para imprimir un título, y quiero reemplazar este título de vez en cuando. Actualmente estoy usando:Matptotlib suptitle imprime sobre el título anterior

self.ui.canvas1.figure.suptitle(title) 

donde la figura es una figura matplotlib (canvas1 es un mplCanvas, pero que no es relevante) y el título es una cadena pitón.

Actualmente, esto funciona, excepto por el hecho de que cuando ejecuto este código nuevamente más tarde, solo imprime el nuevo texto encima del anterior, lo que da como resultado un título ilegible e ilegible.

¿Cómo se puede reemplazar la antigua suptitle de una figura, en lugar de simplemente imprimir?

Gracias,

Tyler

Respuesta

17

figure.suptitle devuelve una instancia de matplotlib.text.Text. Puede guardarlo y establecer el nuevo título:

txt = fig.suptitle('A test title') 
txt.set_text('A better title') 
plt.draw() 
+0

Esto no funcionó ... todavía tiene el mismo error donde simplemente representa el texto nuevo sobre el anterior. – tylerthemiler

+0

Ah, más o menos hice esto. Estaba trabajando con mpl_canvases. Use esto, excepto guarde el self.mpl_canvas_obj.figure.suptitle ('') en algún lugar, y luego use eso como el campo txt. – tylerthemiler

8

Resurrecting this old thread porque recientemente me encontré con esto. Hay referencias al objeto Text devuelto por la configuración original de suptitle en figure.texts. Puede usar esto para cambiar el original hasta que se resuelva en matplotlib.

Cuestiones relacionadas