如何从Python中的嵌套字典创建堆叠条形图

Waq*_*qar 0 python matplotlib python-3.x

我如何从这样的字典创建堆积条形图

{'Chesterville': {'Bachelor': 8, 'Diploma': 5, 'Fail (Promoted)': 5, 'HC': 16},
 'Ebony Park': {'Bachelor': 1, 'Diploma': 3, 'Fail (Promoted)': 0, 'HC': 1},
 'Makhaza': {'Bachelor': 15, 'Diploma': 9, 'Fail (Promoted)': 13, 'HC': 4}}
Run Code Online (Sandbox Code Playgroud)

Imp*_*est 5

您可以使用 pandas 将字典转换为 DataFrame,然后绘制它。

import pandas as pd
import matplotlib.pyplot as plt

dic = {'Chesterville': {'Bachelor': 8, 'Diploma': 5, 'Fail (Promoted)': 5, 'HC': 16},
     'Ebony Park': {'Bachelor': 1, 'Diploma': 3, 'Fail (Promoted)': 0, 'HC': 1},
     'Makhaza': {'Bachelor': 15, 'Diploma': 9, 'Fail (Promoted)': 13, 'HC': 4}}

df = pd.DataFrame(dic)

df.plot(kind="bar", stacked=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述