2012-05-11 45 views
13

我正在嘗試使用suptitle打印標題,而且我想偶爾替換此標題。目前我使用:Matplotlib suptitle打印舊標題

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

,其中數字是matplotlib圖(canvas1是mplCanvas,但不相關)和標題是一個Python字符串。

目前,這是有效的,除了當我以後再次運行此代碼時,它只是在舊的頂部打印新文本,導致一個混亂,不可讀的標題。

如何替換舊圖中的suptitle而不是僅僅打印?

感謝,

泰勒

回答

17

figure.suptitle返回matplotlib.text.Text實例。您可以保存並設置新標題:

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

這沒有奏效......仍舊會出現相同的錯誤,它只是將新文本渲染到舊的文本中。 – tylerthemiler

+0

啊,我或多或少地做了這個。我正在使用mpl_canvases。使用這個,除了保存self.mpl_canvas_obj.figure.suptitle('')某處,然後用它作爲txt字段。 – tylerthemiler

8

復活這個舊線程,因爲我最近遇到了這個問題。在figure.texts中有一個對由suptitle的原始設置返回的Text對象的引用。您可以使用它來更改原始文件,直到在matplotlib中解決此問題。