Skip to main content
 首页 » 编程设计

python之在一个 barplot 中绘制字典字典

2025年05月04日16qlqwjy

我有一本看起来像这样的字典

d = { 
    'a' : {'L1':2, 'L2':5, 'L3':8}, 
    'b' : {'L1':4, 'L2':7, 'L3':10}, 
    'c' : {'L1':19, 'L2':0, 'L3':1}, 
} 

我想要一个图,其中 x 轴包含我的键,每个键都有 3 个条形图,对应于 L1、L2 和 L3 的值。
总而言之,我的图将包含按键分组的 9 个条形图(因此 3 组 3 个条形图)。

到目前为止,我能做的是将我的字典转换为数据框,然后为每个键使用 seaborn 的条形图,但这让我有 3 个不同的图。

是否可以在一张图上包含所有信息?

非常感谢。

请您参考如下方法:

您可以使用 Pandas ,即:

import matplotlib.pyplot as plt 
import pandas as pd 
 
d = { 
    'a': {'L1':2, 'L2':5, 'L3':8}, 
    'b': {'L1':4, 'L2':7, 'L3':10}, 
    'c': {'L1':19, 'L2':0, 'L3':1}, 
} 
pd.DataFrame(d).plot(kind='bar') 
plt.show() 

输出:

在你的情况下,你需要 x 轴上的字典键,这样你就可以使用

pd.DataFrame(d).T.plot(kind='bar')