[英]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() 但它沒有用。 如果你能幫助我,我將不勝感激!
X
、 Y
和f
的排列在這里起作用。 但是,如果不查看result.dat
是如何生成的,就很難回答這個問題。 直覺告訴我, f(x,y)
的值可能與網格不匹配。
可能會出現不正確的值,因為X
和Y
的值不對應於f
的值。 嘗試order = "C"
或order = "A"
。 此外,您的x
和y
應該在重塑數據之前真正定義。
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="<>")
如果這不起作用,也許可以嘗試重新排序X
和Y
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.