2012-10-18 30 views
18

內到目前爲止,我已經把我的suptitles框架上面,像這樣:Matplotlib放置文本例如suptitle框架

enter image description here

我怎樣才能得到上述框架到幀的suptitles?

到目前爲止,我有一個解決方案,只是打印一個文本,並將其設置在正確的位置與計算xlim和ylim。然而,這是錯誤發生,如果文本不同,它看起來很放鬆。有沒有辦法將suplabel放入框架中?或者只是將文本置於框架下方並居中? 如果我不需要知道幀內顯示的數據,它會非常方便。

回答

22

您的解決方案使用text也是我的解決方案。但是,您不需要根據xlim和ylim計算位置。如果設置transform=ax.transAxes,則定位文本的座標被視爲相對於軸邊界框(0,0是左下角)。像這樣:

data = range(1,10); 
fig = figure() 
for i in range(6): 
    ax = fig.add_subplot(2,3,i) 

    ax.text(.5,.9,'centered title', 
     horizontalalignment='center', 
     transform=ax.transAxes) 

    ax.plot(data) 
show() 

Plot showing text relative to axes bounding box.

希望幫助!

+0

謝謝!我知道這很容易xD – tarrasch

+1

因此,如果我本來想要在這些情節的左上角添加b c d,那麼這些情節都是不同的範圍,我該怎麼做? – tarrasch

24

你考慮過axes.title嗎?你可以看到它的文檔here。您還可以傳遞x和y座標作爲關鍵字參數ax.title("my title", x=0.5, y=0.6)

希望這會有所幫助。

+1

這似乎是最簡單的解決方案。 –

+1

或甚至是'ax.title(「我的標題」,位置=(0.5,0.6))' – Alex

+5

這將是'matplotlib.pyplot.title'或'axis.set_title'。 – tsbertalan