【问题标题】:How to scale axes in mplot3d如何在 mplot3d 中缩放轴
【发布时间】:2012-07-03 06:42:03
【问题描述】:

我似乎找不到有关使用 matplotlib 在 3d 图像中缩放轴的能力的文档。

例如,我有图片:

并且轴有不同的比例。我希望它们是统一的。

【问题讨论】:

    标签: python numpy matplotlib


    【解决方案1】:

    以下设置框纵横比与当前坐标轴限制以实现“相等”行为 [source]

    ax.set_box_aspect([ub - lb for lb, ub in (getattr(ax, f'get_{a}lim')() for a in 'xyz')])
    

    【讨论】:

      【解决方案2】:

      通常,您最容易包含一些生成图像的代码,这样我们就可以看到您尝试过的内容以及代码的一般设置。话虽如此,包含以下内容应该有效:

      from mpl_toolkits.mplot3d import Axes3D
      from matplotlib import pyplot as plt
      
      fig = plt.figure()
      ax = Axes3D(fig)
      ax.set_xlim3d(0, 1000)
      ax.set_ylim3d(0, 1000)
      ax.set_zlim3d(0, 1000)
      

      【讨论】:

      • 这不会使轴达到相同的比例。但是, ax.axis('equal') 对我有用。
      • Matplotlib 3.3.3 "NotImplementedError: Axes3D 目前只支持方面参数 'auto'。你传入了 'equal'。"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多