【发布时间】:2019-11-08 23:59:31
【问题描述】:
所以我有一个看起来像这样的 pandas DataFrame:
year country total
0 2010 USA 10
1 2010 CHIN 12
2 2011 USA 8
3 2011 JAPN 12
4 2012 KORR 7
5 2012 USA 10
6 2013 CHIN 9
7 2013 USA 13
我想在 matplotlib 中创建一个堆积条形图,其中每年有一个条形图,该年有两个国家的堆叠,高度基于 total 列。颜色应基于国家并在图例中表示。
我似乎无法弄清楚如何做到这一点。我想我可以使用 for 循环遍历每年和每个国家,然后使用与字典中的值相对应的颜色构建条形图。但是,这将为每个单独的条创建单独的图例条目,以便图例中有 8 个总值。据我所知,这也是在 matplotlib 中绘制图表的一种非常低效的方法。
谁能指点一下?
【问题讨论】:
-
我想这是一种解决方案,但我不得不想象有一种更有效的方法可以做到这一点。对于制作这样的图表,嵌套循环似乎是一个糟糕的选择。
-
这相当于每年的缺失国家在该特定年份的值为 0,不是吗?所以和普通的条形图是一样的。
标签: python pandas matplotlib