Python 按示例matplotlib列出的颜色栏
我正试图通过列表中的值对条形图进行颜色编码。我正在绘制这样的图,但我不知道如何给它上色:Python 按示例matplotlib列出的颜色栏,python,matplotlib,Python,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(loc
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)
您可以创建一个字典,将类型列表中的值映射到颜色。然后,使用此词典,您可以创建一个颜色列表,以提供给
条
的颜色
参数
为了创建图例,可以使用相同的字典设置图例句柄的颜色
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()