添加填充到pyplot的顶部和底部

时间:2012-07-16 14:04:06

标签: python matplotlib padding

我正在使用以下代码生成一个pyplot:

plotCount = 1
for key in resultsDictionary:
  count = 1
  p1 = plt.subplot(5,1,plotCount)
  plotCount+=1
  for item in resultsDictionary[key]:
    print count , item , key
    plt.plot(item, count, marker='o')
    count+=1

生成的图表在图表上“压缩”了顶部和底部结果。如何在图形的顶部和图形的大小中添加某种填充(或者可以设置图形的确切大小(我知道最小/最大值)。

如果有人能指出我正确的方向,我会很感激。

3 个答案:

答案 0 :(得分:3)

您可能需要查看tight_layout guide,其中介绍了如何自动执行此类操作。这只是最近才引入的(版本1.1)。

或者,如果使用add_axes命令而不是subplot(),则可以获得更多控制权,从而可以设置每个图形的相对位置和大小。

答案 1 :(得分:2)

我认为您要问的是设置图表的限制。你需要添加

plt.set_xlim([xmin,xmax])
plt.set_ylim([ymin,ymax])

到外部循环中的代码(xmin,xmax,ymin,ymax的合理值)。

答案 2 :(得分:0)

布局调整对我来说不起作用,因为整个数字只会在标签仍然被压扁或超出范围时调整大小。

我找到的解决方法是保持y轴始终比最高或最小y值保持一定的余量:

x1,x2,y1,y2 = plt.axis()
plt.axis((x1,x2,y1 - 100 ,y2 + 100))