在 matplotlib 中自动调整图形大小
有没有办法自动调整图形大小以正确适合 matplotlib/pylab 图像中包含的图?
我正在创建根据所使用的数据纵横比不同的热图(子)图。
我意识到我可以计算纵横比并手动设置它,但肯定有更简单的方法吗?
Is there a way to automatically resize a figure to properly fit contained plots in a matplotlib/pylab image?
I'm creating heatmap (sub)plots that differ in aspect ratio according to the data used.
I realise I could calculate the aspect ratio and manually set it, but surely there's an easier way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
也可以将 ax.autoscale 与 ax 对象一起使用
Also possible to use ax.autoscale with ax object
使用 bbox_inches='tight'
...仅在保存图像时有效,而不是显示图像。
Use bbox_inches='tight'
...only works when saving images though, not showing them.
另一种方法是使用 matplotlibight_layout 函数
Another way of doing this is using the matplotlib tight_layout function
当你调用imshow时只需使用aspect='auto'
它就可以工作,即使它只是为了显示而不是保存
just use aspect='auto' when you call imshow
it works even if it is just for showing and not saving
您可以尝试使用 axis('scaled')
you can try using axis('scaled')
您的意思是更改图像的大小或绘图中可见的区域吗?
可以使用 Figure.set_figsize_inches 设置图形的大小。
另外 SciPy Cookbook 有一个关于更改图像大小的条目,其中包含有关多个图像的部分每图。
另请看看这个问题。
Do you mean changing the size of the image or the area that is visable within a plot?
The size of a figure can be set with Figure.set_figsize_inches.
Also the SciPy Cookbook has an entry on changing image size which contains a section about multiple images per figure.
Also take a look at this question.