如何将Matplotlib 3D图形更改为侧视图?

5
如果有x、y和z坐标数组。我不是指展示一个静态的2D图,这可以通过以下方式绘制:
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软件中所能做的一样。

谢谢。

2个回答

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

view_init(elev=None, azim=None)

设置轴的仰角和方位角。

这可以用于程序化旋转轴。

“elev”存储z平面上的仰角。 “azim”存储x,y平面上的方位角。

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


0

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

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

类似的嵌入也可以用于 Wx 工具包。我还猜想,您可以使用 matplotlib JS 后端(例如 http://mpld3.github.io/),并继续在 Javascript 中制作 UI。


我编辑了我的帖子。我认为对我来说首要的事情是找到将3D视图更改为不同正交视图的函数。 - oyster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接