【问题标题】:Add padding to the top and bottom of a pyplot在 pyplot 的顶部和底部添加填充
【发布时间】:2012-07-15 09:38:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: python matplotlib padding


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-11-02
          • 1970-01-01
          • 2016-08-08
          • 2017-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多