此问题在此处已有答案:
how to set "camera position" for 3d plots using python/matplotlib?(5个答案)
3天前关闭。
我尝试使用以下代码打印三维曲面:
fig = plt.figure()
ax = fig.add_subplot(projection = '3d')
ax.plot_surface(x, y, z)
ax.set_aspect('equal') # not relevent to the problem
plt.show()
现在,正如所料,它输出了一个图形,但问题是坐标轴有点非常规。
我希望输出图形,使x、y(不一定是z)轴的零点对齐,或者基本上如下所示(可以通过手动平移图形来获得):
我是否遗漏了matplotlib.pyplot
命令?
1条答案
按热度按时间yk9xbfzb1#
溶液
在调用
plt.show()
之前包含行ax.view_init(45,45)
。解释
ax.view_init(...)
是一个命令,用于在调用plt.show()
时设置子图的初始透视图。它接受四个参数elev=None, azim=None, roll=None, vertical_axis='z'
。所有这些参数都有一个默认值,因此出于您的目的,您只需要包括仰角和方位角的两个浮点值。文档链接:https://matplotlib.org/stable/api/_as_gen/mpl_toolkits.mplot3d.axes3d.Axes3D.view_init.html