我打算从多文本数据文件中绘制像瀑布一样的瀑布,x是波长,y是响应,z是帧号。 xy具有相同的尺寸(例如5000个数据)。基本上,简化我的代码如下所示,我发现我无法获得正确的视图。我要交换的是z轴和y轴,

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from numpy import arange, sin, pi

x =  arange(0.0, 10, 0.04)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for z in range(0,8):
    y = sin(2*x*pi*z)
    ax.plot(x, y, z )

plt.xlabel(' x', fontsize = 12, color = 'black')
plt.ylabel(' y', fontsize = 12, color = 'black')
plt.show()


with the "zdir='y'"

Without zdir='y'

我想要的是在图2中交换Z轴和y轴。非常感谢!

最佳答案

原则上,使用zdir="y"似乎是正确的方法。但是,这意味着将y参数作为调用中的最后一个参数提供,

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from numpy import arange, sin, pi

x =  arange(0.0, 10, 0.04)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for y in list(range(0,8))[::-1]:
    z = sin(2*x*pi*y)
    ax.plot(x, z ,y, zdir="y")

plt.xlabel(' x', fontsize = 12, color = 'black')
plt.ylabel(' y', fontsize = 12, color = 'black')
ax.set_ylim(0,9)
ax.set_zlim(-1,1)
plt.show()


python - 如何在matplotlib的Axes3D中设置zdir以获得更好的瀑布-LMLPHP

关于python - 如何在matplotlib的Axes3D中设置zdir以获得更好的瀑布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48612634/

10-11 21:50