2016-03-15 84 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()