首页 > 解决方案 > 方框图python中字典键的数据

问题描述

我有两个字典,两个字典都包含许多键。我想在这里做什么。我想并排绘制他们的数据。例如,两个字典都有键“1”,所以我想并排绘制两个字典中键 1 的数据。

dict_a = {1: [10.60626299560636,9.808507783184758, 9.80184985166152, 9.820483229791137,9.822087257017674],
2: [10.60626299560636, 9.808507783184758, 9.80184985166152, 9.820483229791137, 9.822087257017674]}  

dict_b = {1: [14.420548834522766,13.886147271592971,14.522980401561725,14.876615652026173,13.379224382776899],
2: [14.650926514851816,13.984378530820885,14.566825972585173, 16.434690726796628,15.24108978696146]}

经过搜索,我找到了以下代码,但这两个代码片段都有助于一次绘制一个字典。

 fig, ax = plt.subplots()
 ax.boxplot(dict_a .values())
 ax.set_xticklabels(dict_a.keys())

我发现的另一个代码如下,但它仍然没有给我想要的东西。

 labels, data = dict_a .keys(), dict_a .values()

 plt.boxplot(data)
 plt.xticks(range(1, len(labels) + 1), labels)
 plt.show() 

有没有一种方法,它的执行方式与我想要的相同。

标签: pythonpython-3.xnumpydictionaryboxplot

解决方案


尝试这个

key = 1
values = [data[key] for data in [dict_a, dict_b]]  
fig, ax = plt.subplots()
ax.boxplot(values)
ax.set_xticklabels(['dict_a', 'dict_b'])
ax.set_title('value: %s' % key)

结果图


推荐阅读