我有一套:
K = {'A', 'E', 'R', 'T'}
和一本名为:
的字典Dic = {'A': 25, 'C': 35, 'E': 10, 'R': 7, 'S': 9, 'T': 11}
我知道用
绘制字典Dic
X = np.arange(len(Dic))
plt.bar(X,Dic.values(),width=0.5)
plt.xticks(X,list(Dic.keys()))
现在我想更改图表中栏'A', 'E' , 'R', 'T'
的颜色。简单地说就像Dic
交叉点K
。
但是,我不知道如何将设置项与字典进行比较。
答案 0 :(得分:-1)
K.intersection(Dic)
这将为您提供两者中的密钥。
问题的颜色变化部分在这里得到解答:
Setting Different Bar color in matplotlib Python
Dic = {'A': 25, 'C': 35, 'E': 10, 'R': 7, 'S': 9, 'T': 11}
K = {'A', 'E', 'R', 'T'}
values = [Dic[key] for key in sorted(Dic)]
intersection = K.intersection(Dic)
X = range(len(Dic))
bar_graph = plt.bar(X, values,width=0.5)
print intersection, 'inter'
for i, thing in enumerate(sorted(Dic)):
if thing in intersection:
bar_graph[i].set_color('r')
plt.xticks(X,sorted(Dic.keys()))
plt.show()
您必须进行一些排序以确保键与绘制的位置相同。 Python字典不会按任何排序顺序保存密钥。