在matplotlib中调整边距

Jes*_*ose 4 python matplotlib

我试图将1X2左右的边距最小化,这个数字是两个堆积的子图.我搜索了很多,并提出了如下命令:

self.figure.subplots_adjust(left=0.01, bottom=0.01, top=0.99, right=0.99)
Run Code Online (Sandbox Code Playgroud)

这会在顶部和子图之间留下很大的间隙.使用这些参数,更不了解它们很难(像这样ValueError: bottom cannot be >= top)

在此输入图像描述


我的问题:

什么是完全最小化边际的命令?

这些数字意味着什么,以及这跟随的坐标系统(这个坐标系的非标准百分比和原点)?这个坐标系统的特殊规则是什么?

需要调用此命令的确切位置在哪里?从实验中,我发现在创建子图之后它可以工作.如果您需要在调整窗口大小后重复调用它并需要调整图形大小以适应内部,该怎么办?

调整布局的其他方法有哪些,特别是对于单个子图?

Joe*_*ton 9

它们位于图形坐标中:http://matplotlib.sourceforge.net/users/transforms_tutorial.html

要次要情节之间移除间隙,使用wspacehspace关键字subplots_adjust.

如果您想自动调整内容,请查看 tight_layout

Gridspec:http://matplotlib.sourceforge.net/users/gridspec.html

  • 看起来你正在使用具有固定宽高比的子图(顶部)?在这种情况下,图的可调部分是子图的"框"(而不是数据限制).将应用子图间距,然后调整子图的轮廓以使宽高比正确.如果你想让轴占据图形的不同部分,不要使用一个子图来告诉他们占用图中相同的部分.在这种情况下,查看`gridspec`,或者只是手动添加轴. (2认同)