【问题标题】:how to change matplotlib 3d plot to side-view?如何将 matplotlib 3d 绘图更改为侧视图?
【发布时间】:2018-09-06 11:37:44
【问题描述】:

如果存在 x、y 和 z 坐标数组。我不是要展示一个静态的二维图,它可以由

绘制
plot(x, y)

我是说

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(x, y, z, label='parametric curve')

plt.show()

哪个 matplotlib 函数可以将视图更改为侧视图?这样我就可以为 matplotlib GUI 添加按钮,当用户单击时,3d 图将绘制为顶视图/左视图/...,用户仍然可以使用鼠标以 3d 方式旋转图稍后,就像我们在 CAD 软件中可以做的那样。

谢谢

【问题讨论】:

    标签: python matplotlib projection


    【解决方案1】:

    如果我理解您的问题,您正在寻找函数Axes3D.view_init

    view_init(elev=None, azim=None)

    设置轴的仰角和方位角。

    这可用于以编程方式旋转轴。

    'elev' 存储 z 平面中的仰角。 ‘azim’ 存储 x,y 平面中的方位角。

    如果 elev 或 azim 为 None(默认),则使用在 Axes3D 构造函数中指定的初始值。

    【讨论】:

      【解决方案2】:

      这取决于您计划使用的 UI 工具包。 Matplotlib 可以使用多个后端,其中有文件后端、Qt4 后端、Qt5 后端、Wx 工具包后端等。

      如果您决定使用 Qt 后端在 python 中制作 UI,有一个示例如何使用 Qt 后端将 matplotlib 绘图嵌入到 Qt 画布中:https://matplotlib.org/gallery/user_interfaces/embedding_in_qt_sgskip.html

      Wx 工具包也可以进行类似的嵌入。我也猜你可以使用 http://mpld3.github.io/ 这样的 matplotlib JS 后端,然后继续用 Javascript 制作 UI

      【讨论】:

      • 我编辑了我的帖子。我认为对我来说第一件事就是找到将 3d 视图更改为不同正交视图的功能
      猜你喜欢
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 2017-03-17
      • 2015-08-02
      • 1970-01-01
      相关资源
      最近更新 更多