3

我正在使用以下代码生成 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

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

如果有人能指出我正确的方向,我将不胜感激。

4

3 回答 3

4

您可能想看一下tight_layout 指南,它描述了如何自动执行此类操作。不过,这只是最近才引入的(在 1.1 版中)。

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

于 2012-07-16T15:04:39.040 回答
2

我想你是在问关于设置图表的限制。您需要添加

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

到您在外循环中的代码(具有合理的值xmin,xmax,ymin,ymax)。

于 2012-07-17T15:02:30.813 回答
0

布局调整对我不起作用,因为整个图形只会在标签仍然被压扁或超出范围的情况下调整大小。

我发现的一种解决方法是让 y 轴始终在最高或最低 y 值之上保持一定的余量:

x1,x2,y1,y2 = plt.axis()
plt.axis((x1,x2,y1 - 100 ,y2 + 100))
于 2016-10-16T22:02:55.987 回答