如何在Matplotlib中扩展图形底部的边距?
下面的屏幕截图显示了我的x轴 我添加了一些标签,并将它们旋转90度,以便更好地阅读它们。但是,pyplot截断了底部,因此我无法完全读取标签。 如何扩展底部边距以查看完整的标签?两种追溯方式:如何在Matplotlib中扩展图形底部的边距?,matplotlib,margin,Matplotlib,Margin,下面的屏幕截图显示了我的x轴 我添加了一些标签,并将它们旋转90度,以便更好地阅读它们。但是,pyplot截断了底部,因此我无法完全读取标签。 如何扩展底部边距以查看完整的标签?两种追溯方式: fig, ax = plt.subplots() # ... fig.tight_layout() 或 下面是一个子批次调整示例: (但我更喜欢紧凑的布局)子地块调整对我不起作用,因为整个图形只会在标签仍然超出边界的情况下调整大小 我发现的一个解决方法是在y轴的最大值或最小值上始终保持一定的余量: x
fig, ax = plt.subplots()
# ...
fig.tight_layout()
或
下面是一个子批次调整示例:
(但我更喜欢紧凑的布局)子地块调整对我不起作用,因为整个图形只会在标签仍然超出边界的情况下调整大小
我发现的一个解决方法是在y轴的最大值或最小值上始终保持一定的余量:
x1,x2,y1,y2 = plt.axis()
plt.axis((x1,x2,y1 - 100 ,y2 + 100))
对我来说,一个快速的单行解决方案是直接使用pyplot的auto,该解决方案在Matplotlib v1.1以后的版本中提供:
plt.tight_layout()
这可以在显示绘图之前立即调用(plt.show()
),但在对轴进行操作(例如,标签旋转等)之后调用
这种方便的方法避免了操纵子地块的单个图形
其中,plt是标准pyplot,来自:
将matplotlib.pyplot导入为plt
fig.savefig('name.png', bbox_inches='tight')
对我来说效果最好,因为它不会减少绘图的大小
fig.tight_layout()
您还可以告诉passtight\u layout=True
到子批次
,这是相同的效果。有没有一种方法可以不使用tight\u layout
或子批次
?也就是说,如果只是创建一个图形并通过plt.plot(…)
添加一个绘图。我问这个问题的原因是因为我试图为一部电影创建多个情节,如果使用子情节和/或紧凑布局,则标题和轴标签会摆动。任何帮助都将不胜感激。@Wolpertinger:fig=plt.figure();图添加_轴(…)
子图\u adjust
对我起了部分作用,在图例被切割的图形顶部添加了一些空间:top=0.75
没有足够的效果,top=1.5
,奇怪的是,似乎没有效果<代码>tigh_布局
在这种特殊情况下似乎没有任何效果。回答得好。值得注意的是,“但在你的操纵之后”的评论是至关重要的。否则,你的头衔可能会像我一样被砍掉。这是唯一对我有效的解决办法。
fig.tight_layout()