2012-04-24 54 views
1

我試圖用不同的歐米伽值作爲使用Python和Matplotlib的三維圖繪製堆積的二維正弦(歐米茄t)0 < = t < = 2 pi。任何暗示將不勝感激。二維圖的堆棧

(像這樣)

Something like this one

+1

您是否有圖像或圖形來顯示所需的結果? – heltonbiker 2012-04-24 17:44:30

+0

我是一個新的Python用戶。我不知道如何將二維圖繪製到三維中。感謝您的關注。 – Papiro 2012-04-24 17:49:30

+0

@Papiro如果您是python和matplotlib的新手,請查看示例圖片庫(http://matplotlib.sourceforge.net/gallery.html)以找到與您想要的內容相近的內容。嘗試改編這些例子,並回來一個特定的問題。我們都非常樂意提供幫助,但是如果沒有更多的細節,這幾乎是不可能的:「我試過......這裏是我的示例代碼......爲什麼我不能得到......結果?」 – Yann 2012-04-24 18:07:06

回答

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'代碼中,因爲它看起來沒有被廣泛記錄。隨意嘗試這一點,閱讀代碼很難,但學習如何使用matplotlib的一個很好的方法。 – Yann 2012-04-24 19:06:38

+0

非常感謝你的幫助,我非常感謝你。我希望有一天我可以回報這個好處。 – Papiro 2012-04-24 21:07:25