Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按示例matplotlib列出的颜色栏_Python_Matplotlib - Fatal编程技术网

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