簡體   English   中英

設置色標以登錄等高線圖

[英]Setting colour scale to log in a contour plot

我有一個數組A,我使用X和Y作為坐標軸在等高線圖中繪制,

plt.contourf(X,Y,A)

A的等高線圖

問題是,A中的值從1到非常大的數字變化,使得色標不顯示圖。 當我繪制log(A)時,我得到以下輪廓,

原木等高線圖(A)

這就是我要找的東西。 但是當我將光標懸停在某個(X,Y)點上時,我希望能夠查看數組A的值,而不是log(A)。 我已經得到了如何做到這一點的答案,但是當我的色標保持記錄時,我該如何去做呢? 基本上我要做的是使色標遵循日志模式,而不是數組值本身。

非常感謝!

你可以這樣做:

from matplotlib import colors
plt.contourf(X, Y, A, norm=colors.LogNorm())
plt.colorbar()
plt.show()

要么

from matplotlib import ticker
plt.contourf(X, Y, A, locator=ticker.LogLocator())
plt.colorbar()
plt.show()

類似的問題已被要求對scatter的顏色進行對數縮放: matplotlib散點圖中的對數色條

正如在那里指出的那樣,matplotlibs文檔中有一篇文章描述了色彩圖的規范: http//matplotlib.org/devdocs/users/colormapnorms.html

基本上,您可以通過添加關鍵字, norm=matplotlib.colors.LogNorm()來設置contourplot的范數。

暫無
暫無

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

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