matplotlib.axes.Axes.apply_aspect#
- Axes.apply_aspect(position=None)[源]#
根据指定的数据纵横比调整 Axes。
根据
get_adjustable
的设置,这将修改 Axes 框(位置)或视图限制。在前一种情况下,get_anchor
将影响位置。- 参数:
- positionNone 或 .Bbox
注意
此参数因历史原因而存在,并被视为内部参数。终端用户不应使用它。
如果不是
None
,这定义了图中 Axes 的 Bbox 位置。有关更多详细信息,请参阅get_position
。
另请参阅
matplotlib.axes.Axes.set_aspect
关于纵横比处理的描述。
matplotlib.axes.Axes.set_adjustable
设置 Axes 如何调整以达到所需的纵横比。
matplotlib.axes.Axes.set_anchor
在有额外空间的情况下设置位置。
matplotlib.figure.Figure.draw_without_rendering
更新图形中所有过时的组件。
备注
在绘制每个 Axes 时,此方法会自动调用。如果您需要在绘制 Figure 之前更新 Axes 位置和/或视图限制,则可能需要自行调用它。
一个范围更广的替代方案是
Figure.draw_without_rendering
,它会更新图形中所有过时的组件,而不仅仅是单个 Axes 的定位/视图限制。示例
一个典型的使用示例如下。
imshow
将纵横比设置为 1,但出于性能原因,调整 Axes 位置和范围以反映这一点会延迟到渲染时进行。如果您想提前知道 Axes 的大小,需要调用apply_aspect
来获取正确的值。>>> fig, ax = plt.subplots() >>> ax.imshow(np.zeros((3, 3))) >>> ax.bbox.width, ax.bbox.height (496.0, 369.59999999999997) >>> ax.apply_aspect() >>> ax.bbox.width, ax.bbox.height (369.59999999999997, 369.59999999999997)