如何旋转 matplotlib 图形的 z 轴,使其显示为水平轴?我创建了以下 3d 图:
我尝试调整中的值
我想改变所有数据的三个分量,以便我使用 x 轴来绘制数据的 z 分量,但是这样会很不方便我的许多计算,更重要的是,我没有知道如何使用 ax.set_aspect 使整个图形在矩形框中保持相同的比例(矩形是因为数据的(原始)z 分量通常跨越比 x 和 y 分量更大的范围)。
那么如何旋转 z 轴(90 度)?
编辑:
只是为了澄清我的问题。使用答案中使用的示例,我有以下代码可以生成一个在所有三个轴上都具有相同比例的图形,即使我调整弹出窗口的大小,该图形仍然具有三个相同的纵横比轴和看起来一样。这就是我想要的,但是 z 轴旋转了 90 度,所以它看起来是水平的(所需的坐标系看起来像上图 EM 波中所示的坐标系)。如果我切换三个轴的绘图顺序,我会得到一个水平的 z 轴(它被绘制为 x 轴),但是我不能使用 ax.set_aspect 来改变比例。
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
ax.set_xlim(-30,30)
ax.set_ylim(-30,30)
ax.set_zlim(-90,90)
ax.set_aspect(3, 'box-forced')
plt.show()