0
我想通過列表中的值對顏色代碼欄進行顏色編碼。我策劃這樣的事情,但我無法弄清楚如何着色它:按樣本matplotlib的顏色條
x=[1,2,3]
y=[1,2,3]
type=[big,small,big]
p1=plt.bar(x,y)
plt.colorbar(type)
我想通過列表中的值對顏色代碼欄進行顏色編碼。我策劃這樣的事情,但我無法弄清楚如何着色它:按樣本matplotlib的顏色條
x=[1,2,3]
y=[1,2,3]
type=[big,small,big]
p1=plt.bar(x,y)
plt.colorbar(type)
所以我落得這樣做創建與定義的顏色字典我的每個參數,然後只是將這筆打印時像這樣:
colors = {'C':'b', 'T':'r', 'G':'g', 'A':'y'}
wts.append(colors[x[3]])
p1 = plt.bar(loci, vafs, color=wts)
您可以創建一個從typ列表到顏色的字典映射值。然後使用該字典,您可以創建一個顏色列表,以提供給bar
的color
參數。
爲了創建圖例,可以使用相同的字典來設置圖例句柄的顏色。
import matplotlib.pyplot as plt
x=[1,2,3]
y=[1,2,3]
typ=["big","small","big"]
color = {"big" : "indigo", "small" : "mediumvioletred"}
p1 = plt.bar(x,y, color=[color[t] for t in typ])
handles = [plt.Rectangle((0,0),1,1, color=color[c]) for c in set(typ)]
plt.legend(handles=handles, labels=set(typ))
plt.show()