我正在創(chuàng)建一個條形圖,其中條形根據(jù)自定義顏色圖進(jìn)行著色,以顯示額外維度的數(shù)據(jù)。我使用線性分段顏色圖來創(chuàng)建顏色。代碼看起來像這樣。import matplotlib.pyplot as pltimport matplotlib.colors as mcolorsxvalues = [1,2,3,4]yvalues = [1,2,3,4]colorvalues = [0,0.3,0.6,0.99]clist = [(0, 'powderblue'), (1, 'darkblue')]colors = mcolors.LinearSegmentedColormap.from_list("", clist)barcolors = []for value in colorvalues: barcolors.append(colors(value))fig, ax = plt.subplots()ax.bar(xvalues, yvalues, color = barcolors) 這一切都按照我想要的方式工作并生成我正在尋找的圖表。但是,我還想使用線性分段顏色圖生成的顏色添加顏色條圖例。每當(dāng)我嘗試使用 plt.colorbar 時,如下所示plt.colorbar(colors)我收到一條錯誤消息AttributeError: 'LinearSegmentedColormap' 對象沒有屬性 'autoscale_None'我發(fā)現(xiàn)使用 Linearsegmentedcolormap 方法創(chuàng)建自定義顏色圖的解決方案已使用諸如 plt.imshow 之類的圖形本身上的所述顏色圖。我一直無法找到顏色圖實際上并未用于繪制某些內(nèi)容的解決方案。
1 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊
讓我們嘗試根據(jù)您的顏色創(chuàng)建一個 cmap 可映射對象并從中繪制顏色條:
## you other codes go here
from matplotlib.cm import ScalarMappable
from matplotlib.colors import Normalize
cmappable = ScalarMappable(norm=Normalize(0,1), cmap=colors)
plt.colorbar(cmappable)
輸出:
添加回答
舉報
0/150
提交
取消