簡體   English   中英

Python 中二維 Numpy 數組的等值線圖

[英]Contour plot of 2D Numpy array in Python

我的目標是在 Python 中為使用 Fortran 導入和創建的 (100,100) 數組獲取等高線圖。

我通過以下方式從 Fortran 導入數組:

x=np.linspace(0.02,10,100), y=np.linspace(0.47,4,100)

f = (np.fromfile(('/path/result.dat'
), dtype=np.float64).reshape((len(x), len(y)), order="F"))

因此,結果取決於 x 和 y,並為 x 和 y 的每個組合給出一個值。 如何創建相應的等高線圖? 到目前為止,我嘗試的是:

X, Y= np.meshgrid(x, y)


plt.contourf(X, Y, f, colors='black')
plt.show()

但是生成的等值線圖顯示的值沒有意義。 我也試過 imshow() 但它沒有用。 如果你能幫助我,我將不勝感激!

XYf的排列在這里起作用。 但是,如果不查看result.dat是如何生成的,就很難回答這個問題。 直覺告訴我, f(x,y)的值可能與網格不匹配。

可能會出現不正確的值,因為XY的值不對應於f的值。 嘗試order = "C"order = "A" 此外,您的xy應該在重塑數據之前真正定義。

x=np.linspace(0.02,10,100)
y=np.linspace(0.47,4,100)
f = np.fromfile(('/path/result.dat'), dtype=np.float64).reshape((len(x), len(y)), order="<>")

如果這不起作用,也許可以嘗試重新排序XY

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM