mpl_toolkits.mplot3d.axes3d.Axes3D.apply_aspect#
- Axes3D.apply_aspect(position=None)[源代码][源代码]#
调整坐标轴以适应指定的数据纵横比。
根据
get_adjustable,这将修改 Axes 框(位置)或视图限制。在前一种情况下,get_anchor将影响位置。- 参数:
- 位置无或 .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)