2017-05-29 90 views
0

我不明白爲什麼我的文字標題沒有出現在我的情節。我發現這個文檔對於圖例和標題標籤的放置順序非常混亂..文本標題沒有出現matplotlib

我的代碼在這裏,我不知道什麼是錯的。一切都如我所料(標題,軸標籤,日期格式,...)出現,除了標題的文本不在那裏。

fig = plt.figure(figsize=(24, 12), dpi=60) 
ax = fig.add_subplot(111) 
plt.plot(datetime_series,ws_cumsum_mean1,label='1979-1994') 
plt.plot(datetime_series,ws_cumsum_mean2,label='1996-2005') 
plt.plot(datetime_series,ws_cumsum_mean3,label='2006-2014') 
txt = '''Caption text''' 
plt.legend(loc='best') 

這是我嘗試添加標題:

ax.text(0.5,-0.5,txt,transform=ax.transAxes) 

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d-%m')) 
plt.ylabel('Y label title') 
plt.xlabel('X label title') 
plt.title('Plot title') 

回答

1

使用 ax.text(0.5,-0.5,txt,transform=ax.transAxes)你是在軸放置文本在(0.5,-0.5)位置座標。軸的座標範圍從(0,0)(左下角)到(1,1)右上角。因此(0.5,-0.5)在軸外,在這種情況下也在圖外。 enter image description here

您可以嘗試使用0到-0.1之間的一些數字作爲y座標,以查看哪些符合您的需求。或者使用圖形座標代替座標軸,並將文本放置在y = 0,ax.text(0.5,0,txt,transform=fig.transFigure)處。

+0

丹麥人,但是,我把(0.5,-0.5)這樣它應該我的文字不會出現在圖中,並且它會出現在下面..我只是想要一個數字標題下面的數字。但是,用我在問題中列出的當前代碼,根本沒有文字出現。 – pwprnt

+0

圖下方意思是在圖外。外面的一切都是不可見的。將它與瀏覽器窗口進行比較;如果您將瀏覽器窗口放置在屏幕下方(假設y = -500像素),則無法再看到它。 – ImportanceOfBeingErnest

+0

好的,謝謝,這是有道理的。那麼我如何添加標題? – pwprnt