如何设置三维Matplotlib地物的方向?[duplicate]

8ljdwjyq  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(157)

此问题在此处已有答案

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命令?

yk9xbfzb

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

相关问题