首頁  >  文章  >  後端開發  >  如何在 matplotlib 中設定自訂顏色圖的色條範圍?

如何在 matplotlib 中設定自訂顏色圖的色條範圍?

Barbara Streisand
Barbara Streisand原創
2024-11-03 11:40:03355瀏覽

How do I set the colorbar range for custom colormaps in matplotlib?

設定色條範圍

使用自訂顏色圖建立繪圖時,通常需要獨立設定色條的範圍數據值。這允許在具有不同數據範圍的多個圖中實現一致的顏色解釋。

在提供的程式碼片段中,pcolor 函數使用 cdict 字典定義的自訂顏色圖。預設情況下,色條的範圍由資料數組 (v) 的最大值和最小值決定。但是,在某些情況下,需要強制 colorbar 範圍為特定區間,例如 0 到 1。

pcolor 函數的 vmin 和 vmax 參數可用來設定最小值和最大值分別為色條。透過指定這些值,顏色圖將被拉伸或壓縮以適應指定的範圍。

這是一個更新的範例:

<code class="python">import matplotlib as m
import matplotlib.pyplot as plt
import numpy as np

cdict = {
  'red'  :  ( (0.0, 0.25, .25), (0.02, .59, .59), (1., 1., 1.)),
  'green':  ( (0.0, 0.0, 0.0), (0.02, .45, .45), (1., .97, .97)),
  'blue' :  ( (0.0, 1.0, 1.0), (0.02, .75, .75), (1., 0.45, 0.45))
}

cm = m.colors.LinearSegmentedColormap('my_colormap', cdict, 1024)

x = np.arange(0, 10, .1)
y = np.arange(0, 10, .1)
X, Y = np.meshgrid(x,y)

data = 2*( np.sin(X) + np.sin(3*Y) )

plt.pcolor(X, Y, data, cmap=cm, vmin=0, vmax=1)
plt.colorbar()
plt.show()</code>

在此範例中,vmin 和 vmax 參數設定為分別為 0 和 1。這會強制色條的範圍從 0 到 1,而不管資料值如何。

透過指定 vmin 和 vmax,即使資料範圍不同,您也可以確保不同繪圖之間的顏色解釋一致。當比較多個資料集或建立資料範圍可能動態變化的互動式視覺化時,這特別有用。

以上是如何在 matplotlib 中設定自訂顏色圖的色條範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn