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()