如果存在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软件中所做的一样。
谢谢
答案 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