2014-06-21 48 views
0

我已經從Python的情節在節點meshgrid

numpy.meshgrid(xx,yy) 

矩形網格值。

爲了獲取座標(節點)我和值拆分成兩個列表X和Y:

X = (0.0 , 0.2 , 0.4 , 0.6 , 0.8 , 1.0)*6 
    Y = (0.0 , 0.2 , 0.4 , 0.6 , 0.8 , 1.0)*6 

其中給出了36分的網格。 (想象它是一個單位平方)

現在我已經從解決方程式的另一個列表中有一個大小爲(36,1)的線性系統。

我想繪製(36,1)列表中的值在我的網格中的相應節點。因此,從(36,1)列表中的前6個點位於x軸(Y = 0),然後以下6位於Y = 0.2,依此類推。 有沒有人有任何想法如何做到這一點?

回答

1

把你的輸出數組和:

disparray = myarray + (arange(6) * .2)[:,None] 
plot(X.flatten(), disparray.flatten(), '.') 

這應該做的。

而且,當然你可以繪製for循環。

figure() 
for r in range(myarray.shape[0]): 
    plot(X[0], myarray[r] + 0.2*r, 'k') 

此使用的X值從您的網格的第一行中的情節和情節在偏移0,0.2%,0.4你的結果陣列myarray的每一行的X值與...黑線

+0

我在使用第一行代碼時遇到了問題,也許是因爲我讀錯了。 我嘗試使用: disparray =溶膠+(人氣指數(6)* 0.2)[:,無] 但得到了以下錯誤: 操作數不能與形狀一起廣播(36,1)( 6,1) –

+0

@ M.Gosvig:什麼問題?如果'myarray'有6行,這應該工作。只要確保你使用了正確的命名空間,例如'np.arange(...)'或'numpy.arange(...)',因爲我省略了前綴(=我是一個懶惰的pylab用戶)。 「figure」和「plot」也是一樣,因爲它們應該來自matplotlib庫。 – DrV

+0

好吧,所以現在我有一個新的數組disparray(它是從X構建的)和我的數組X.我不明白這是如何幫助我在網格節點上繪製具有值的sol =(36,1)數組。 .. –