我正在将一些MATLAB绘图代码转换为Python/matplotlib。原始的MATLAB代码包含如下:
F = figure;
% ... create subplots and draw on one of them ...
F.Position = [400 80 650 10];
我正在尝试确定分配给F.Position
的matplotlib等效。
MATLAB文档将此属性描述为传递可绘制区域的位置和大小,但matplotlib.figure.Figure
似乎没有相应的属性。
matplotlib.axes.Axes
似乎确实有这样的位置-至少两个位置,事实上-但我不确定这是否是相应的属性,部分原因是MATLAB坐标轴也有自己的位置。如果这是正确的地方,那么哪些Axes
应该受到影响?现在的呢?那些次要情节?那些还没有画出来的次要情节?别的吗?这些Axes
的哪些位置会受到影响?还是我找错对象了?
更新:
我知道matplotlib图形大小属性。我认为MATLAB版本中表示的图形偏移量很重要,因此我认为仅调整图形大小是不够的。
如果你不关心它在屏幕上显示的确切位置,那么设置图形的大小可能就足够了:
fig = plt.figure(figsize=(width,height))
默认单位为英寸,但可以更改:https://matplotlib.org/stable/gallery/subplots_axes_and_figures/figure_size_units.html
如果你真的关心位置,这里有更详细的描述:如何使用matplotlib设置图形窗口的绝对位置?