2012-04-24 19 views
1

私はPythonとMatplotlibを使って3Dプロットとして異なるオメガ値で0 < = t < = 2piの2D sin(omega t)を積み上げようとしています。どんなヒントも高く評価されます。2Dプロットのスタック

(この1のようなもの)

Something like this one

+1

希望の結果を表示する画像や図がありますか? – heltonbiker

+0

私は新しいPythonユーザーです。 2Dプロットを3Dに配置する方法はわかりません。ご関心をお寄せいただきありがとうございます。 – Papiro

+0

@Papiroもしあなたがpythonとmatplotlibを使い慣れていないなら、あなたがやりたいことに近いものを見つけるためにexamples gallery(http://matplotlib.sourceforge.net/gallery.html)を見てください。例を順応させ、特定の質問に戻ってください。私たちはすべて喜んで助けようとしていますが、詳細は無ければほとんど不可能です。「私は試しましたが、私のサンプルコードはどうですか...結果を得られないのですか? – Yann

答えて

4

これは簡単なplot commandで行うことができます:私が示されてきたもの

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:

enter image description here

+0

@Papiro私はあなたに質問をしないようにすることを意味しません。私はあなた自身で答えを見つけることを奨励したいだけです。最初は難しいですが、それはとても報われています。プロットを正確にあなたが望むようにすることに問題があるなら、もう一度お手伝いします。あなたが示したプロットを正確に再現する方法があるかどうかはわかりません。私は実際の 'mplot3d'コードを掘り下げなければならないでしょう。なぜなら、APIが広範に文書化されていないように思われるからです。コードを読むことは難しいですが、matplotlibの使い方を学ぶにはとても良い方法です。 – Yann

+0

本当にありがとう、本当にありがとうございました。私はいつか私が好意を往復することを願っています。 – Papiro

関連する問題