在绘图下打印文本元数据

时间:2016-03-15 15:00:50

标签: python-3.x matplotlib

假设我有一组数据点,我想用matplotlibPython 3绘制。但是,如果添加一些其他信息(或元数据),则可以更好地理解这些要点。此元数据只是文本。

有没有办法打印一个图形,其中有一些空间为这些文本数据保留? (见图例)

Pictorial representation of the question

2 个答案:

答案 0 :(得分:2)

您可以使用subplots_adjust(bottom=0.3)(或bottom适用于您的任何值)在图的底部添加一些空格。

然后使用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

答案 1 :(得分: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()更适合你。