如何将matplotlib 3d图更改为侧视图?

时间:2018-09-06 11:37:44

标签: python matplotlib projection

如果存在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 个答案:

答案 0 :(得分:2)

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

  

view_init(elev = None,azim = None)

     

设置轴的高程和方位角。

     

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

     

“ elev”将仰角存储在z平面中。 “方位角”将方位角存储在x,y平面中。

     

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

答案 1 :(得分:0)

这取决于您打算使用哪种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