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)