6

可能重复:
有没有办法在 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')

那可能吗?

另外,我对pylab和之间的区别含糊不清matplotlib,所以如果有一个在使用时有效的解决方案matplotlib,它可能会起作用。

先感谢您

4

1 回答 1

21

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()

在此处输入图像描述

在这里,我曾经axes.set_position()通过使轴更小一些来在图的底部腾出一些额外的空间。在这里,我为大量文本添加了空间,因此文本不会碰到轴标签,尽管它可能有点过分。

虽然你要求底部有文字,但我通常把这样的标签放在一边,所以它们是更清楚的注释,而不是图形的一部分。(我发现它很有用,例如,有一个小函数可以自动将生成每个图形的文件的名称放到图形上。)

于 2012-06-21T20:03:35.280 回答