在一个小节中绘制字典词典

mlx*_*mlx 1 python plot dictionary matplotlib bar-chart

我有一本像这样的字典

d = {
    'a' : {'L1':2, 'L2':5, 'L3':8},
    'b' : {'L1':4, 'L2':7, 'L3':10},
    'c' : {'L1':19, 'L2':0, 'L3':1},
}
Run Code Online (Sandbox Code Playgroud)

我想绘制一个图,其中x轴包含我的关键点,每个关键点具有3个对应于L1,L2和L3值的条形图。
总而言之,我的绘图将包含按键分组的9条(所以是3组3条)。

到目前为止,我所能做的就是将字典转换为数据框,然后对每个键使用seaborn的小节,但剩下3种不同的图。

是否可以将所有信息都包含在一个图中?

非常感谢。

Flo*_*oor 6

您可以使用熊猫,即:

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()
Run Code Online (Sandbox Code Playgroud)

输出:

输出

在您的情况下,您需要在X轴上使用dict键,以便可以使用

pd.DataFrame(d).T.plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)

  • 我需要在 x 轴上设置键而不是 L1、L2 和 L3,但我使用了您的代码并添加了 dataframe.transpose() 并得到了我正在寻找的内容:) 谢谢! (2认同)