自訂顏色圖允許個人化資料視覺化。本文解決了使用者關於創建自己的顏色圖的疑問,該顏色圖從紅色平滑過渡到紫色到藍色,並映射到 -2 到 2 之間的值。目的是為繪圖中的資料點著色並顯示隨附的色標。
為了建立連續的色階,使用 LinearSegmentedColormap 而不是離散的 ListedColormap。可以將顏色清單傳遞給 from_list 方法來產生此自訂顏色圖:
import matplotlib.pyplot as plt import matplotlib.colors colors = ["red", "violet", "blue"] cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)
要將顏色對應到資料值,需要標準化函數。 Normalize 函數將值轉換為適合顏色圖的範圍:
norm = plt.Normalize(-2, 2)
使用自訂顏色圖為圖中的點著色:
plt.scatter(x, y, c=c, cmap=cmap, norm=norm)
顯示與圖相鄰的色標:
plt.colorbar()
此方法可以泛化為映射任何一組顏色值:
cvals = [-2., -1, 2] colors = ["red", "violet", "blue"] tuples = list(zip(map(norm, cvals), colors)) cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples)
以上是如何使用 Matplotlib 建立自訂色彩圖並顯示色標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!