堆积条形图要配对不匹配的数据吗

2024-06-16 13:45:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表,我想结合成一个堆叠条形图与标签。你知道吗

Males = [('Surfing', 832), ('Swimming', 653), ('Fishing', 314), 
         ('Spearfishing', 299), ('Bathing', 132), ('Diving', 102), 
         ('Wading', 89), ('Standing', 70), ('Scuba diving', 65)]

Females = [('Swimming', 141), ('Wading', 53), ('Surfing', 45), 
           ('Snorkeling', 33), ('Standing', 27), ('Bathing', 16), 
           ('Scuba diving', 9), ('Boogie boarding', 8), ('Walking', 8)]

我希望它能让图表显示每个活动的总人数,同时用不同的颜色显示性别分类。然而,由于列表的顺序不匹配,所有活动也不匹配,即只有女性“行走”,没有男性对等。然后,该条将单独出现。你知道吗

我写的代码不能这样做。请给我大致的指导方针。我可以使用for循环遍历每个元素,使用if语句查看它是否也存在于其他性别数据中吗?如果是这样,把它们加在一起。你知道吗

我真的不明白怎么可能在未知数量的酒吧里做到这一点。你知道吗


Tags: 列表标签条形图性别surfingfishingmalesstanding
1条回答
网友
1楼 · 发布于 2024-06-16 13:45:40

正如我在评论中提到的,使用^{}有一个相当简单的解决方案。基本上,您可以将每组数据放入一个数据框中,然后对活动进行外部合并。我之所以不包括代码,是因为您明确要求的只是指导原则。你知道吗

结果是:

enter image description here

如果你因为任何原因不能使用熊猫,你可以制作一个ordered dictionary,然后用你的雌性和雄性数据填充到一个列表中。因此,有序字典的键将是活动,而值将是包含要计数的活动映射的常规字典。那么就很容易画出每一个。同样,我没有包括代码,因为你明确要求只是指导方针。你知道吗

结果如下:

enter image description here

相关问题 更多 >