2

我正在尝试使用 Python 和 Matplotlib 将具有不同 omega 值的 0 <= t <= 2 pi 的堆叠 2D sin(omega t) 绘制为 3D 图。任何提示将不胜感激。

(类似这个)

像这样的东西

4

1 回答 1

5

这可以通过简单的绘图命令来完成:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

NANGLES = 200

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
nvals = [0, 2, 4, 10, 20, 40, 100]
for iy in range(len(nvals)):
    n = nvals[iy]
    x = np.arange(NANGLES) / float(NANGLES)
    y = np.ones(NANGLES)*iy # set y position to same value, with regular step
    z = np.sin(n*x*np.pi)
    ax.plot(x, y, z)
ax.set_ylabel('n')
ax.set_yticklabels(nvals) # update y ticks (set at regular step) to your vals

plt.savefig('stackedplot.png')
plt.show()

我展示的是一个简单的开始,调整情节的外观方面可能是学习/探索更多 python/matplotlib 的一个很好的挑战:

在此处输入图像描述

于 2012-04-24T18:37:04.437 回答