2016-03-15 124 views
0

假設我有一組數據點,我想用matplotlibPython 3來打印。但是,如果添加一些附加信息(或元數據),則可以更好地理解這些要點。這個元數據只是文本。打印文本元數據

有沒有辦法打印一個數字,其中有一些空間爲這樣的文本數據保留? (見圖例如)

Pictorial representation of the question

回答

2

您可以(爲你或任何的bottom作品值)在該圖的使用subplots_adjust(bottom=0.3)底部添加一些空間。

然後在下面的空白處添加文字fig.text

import matplotlib.pyplot as plt 

fig,ax = plt.subplots(1) 

fig.subplots_adjust(bottom=0.3) 

ax.plot(range(10)) 

fig.text(0.1,0.20,'Temp: 77K') 
fig.text(0.1,0.15,'V_1: 22.4V') 
fig.text(0.1,0.10,'V_1: 22.4V') 
fig.text(0.1,0.05,'pump: 1064nm') 

plt.show() 

enter image description here

+0

這已經是一個很好的解決方案,但是有什麼辦法可以自動確定所需的空間大小,而不是嘗試各種'bottom'值嗎? – mmassaro

0

的另一種方式做到這一點是建立你的身材和斧頭,隱藏座標軸中的一個,但仍然使用它的方法text把你的元數據。此方法使用地塊座標,例如讓文本居中,這樣的:

fig, ax = plt.subplots(2,1) 
ax[1].axis('off') 
ax[1].text(0.5, 0.5, 'Your-plot-metadata', ha='center', va='center') 

會產生:

enter image description here

與中心隱藏軸的文字。如果你想改變這些地塊的比例,請看gridspec

我知道matplotlib也支持tables,如果這比你更適合ax.text()