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

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

这是可能的吗?

此外,我对pylabmatplotlib之间的区别不太清楚,因此如果在使用matplotlib时有解决方案,它很可能会起作用。

提前感谢您。


1
pylab只是一个包装器,它从numpyscipymatplotlib中导入必要的部分,使绘图变得容易。另请参见:https://dev59.com/O2025IYBdhLWcg3w1JeG - Wilduck
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()函数来让绘图区域留出一些底部的空间,将轴的大小适当缩小。这样做是为了给文本腾出足够的位置,同时避免它与轴标签重叠,虽然可能有点过分。

虽然您要求在底部添加文本,但我通常会将这样的标签放在侧面,这样它们更清晰地成为注释而不是图形的一部分。(例如,我发现自动将生成每个图形的文件名添加到图形中非常有用。)


1
谢谢您的回答,但是当我尝试这样做时,图底部的文本与x轴标签重叠。我尝试了调整0.020.02的数字,但没有帮助。您知道我是否可以同时拥有底部的文本和x轴标签吗?不过,侧边的文本似乎非常方便。 - Akavall
1
我已经更新了我的答案,以便在图形底部留更多空间。在这里,我手动指定了额外的空间,虽然有几种手动缩小轴以为文本腾出空间的方法,但我不知道是否有内置的自动执行此操作的方法。 - tom10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接