mpl_toolkits.mplot3d.axes3d.Axes3D.apply_aspect#
- Axes3D.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)