Python:如何比较字典和&设定然后情节?

时间:2016-02-03 18:54:07

标签: python dictionary matplotlib plot

我有一套:

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

enter image description here

现在我想更改图表中栏'A', 'E' , 'R', 'T'的颜色。简单地说就像Dic交叉点K

但是,我不知道如何将设置项与字典进行比较。

1 个答案:

答案 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字典不会按任何排序顺序保存密钥。