在pylab中的图形下添加图形描述

时间:2012-06-21 17:34:48

标签: python matplotlib

  

可能重复:
  Is there a way of drawing a caption box in matplotlib

是否可以在pylab中的图形下添加图形描述?

假设我绘制了下图:

import pylab

x = [1,2,3,2,4,5,6,4,7,8]

pylab.plot(x)
pylab.title('My Plot')
pylab.xlabel('My x values')
pylab.ylabel('My y values')

pylab.show()

我还想插入一些描述图形的行,也许是这样的(不是真正的代码):

pylab.description('Figure 1.1 is designed for me to learn basics of Pylab')

这可能吗?

此外,我对pylabmatplotlib之间的差异模糊不清,因此如果有一个解决方案在使用matplotlib时有效,则可能会有效。

提前感谢

1 个答案:

答案 0 :(得分:19)

figtext对此非常有用,因为它在图形坐标中添加了文本,即x和y的0到1,无论轴是什么。这是一个例子:

from pylab import *

figure()
gca().set_position((.1, .3, .8, .6)) # to make a bit of room for extra text
plot([1,2], [3,4])
figtext(.95, .9, "This is text on the side of the figure", rotation='vertical')
figtext(.02, .02, "This is text on the bottom of the figure.\nHere I've made extra room for adding more text.\n" + ("blah "*16+"\n")*3)
xlabel("an interesting axis label")    
show()

enter image description here

在这里,我使用axes.set_position()通过使轴稍微变小来在图的底部增加一些空间。在这里,我为大量文本添加了空间,因此文本没有碰到轴标签,尽管它可能有点过分。

虽然您在底部要求提供文字,但我通常会将这些标签放在一边,因此它们更清晰,而不是图中的一部分。 (例如,我发现它有用的功能可以自动将生成每个图形的文件名放到图上。)