使用matplotlib绘制包含字典的字典

wa7juj8i  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(112)

我试图用matplotlib创建一个堆叠条形图,x轴是女性和男性,y轴显示每个性别的“是”数量。然后我将该图与另一个条形图堆叠,显示每个性别的“否”数量。
当前词典:

{'Female': {'Yes': 34, 'No': 4},
 'Male': {'Yes': 59, 'No': 4},
 'Other': {'Yes': 5, 'No': 0}}

我不确定如何操作字典来适应matplotlib为bar方法所需的参数。
获取字典的键和值将返回

dict_keys(['Female', 'Male', 'Other'])
dict_values([{'Yes': 34, 'No': 4}, {'Yes': 59, 'No': 4}, {'Yes': 5, 'No': 0}])

我不知道如何将字典中的Yes和No拆分为单独的数组。

kmb7vmvb

kmb7vmvb1#

因为你的数据本质上是一个表,对我来说使用Pandas plotting似乎最简单:

df = pd.DataFrame(
    {'Female': {'Yes': 34, 'No': 4},
     'Male': {'Yes': 59, 'No': 4},
     'Other': {'Yes': 5, 'No': 0}})

df[['Female', 'Male']].T.plot.bar(stacked=True)

.T代表.transpose

相关问题