我正在寻找一个在Python(matplotlib)中的等价物,下面是在R(ggplot)中创建的堆叠条形图:
虚拟数据(在R中)看起来像这样:
seasons <- c("Winter", "Winter", "Winter", "Spring", "Spring", "Spring", "Summer", "Summer", "Summer", "Fall", "Fall", "Fall")
feelings <- c("Cold", "Cold", "Cold", "Warm", "Warm", "Cold", "Warm", "Warm", "Warm", "Warm", "Cold", "Cold")
survey <- data.frame(seasons, feelings)
在R中,我可以用下面的一行代码创建我正在寻找的图表:
ggplot(survey, aes(x=seasons, fill=feelings)) + geom_bar(position = "fill")
它看起来像这样:
我如何用Python(最好是用matplotlib)以一种简单而紧凑的方式创建这个图表?
我找到了一些(几乎)合适的解决方案,但它们都相当复杂,离一行程序还很远。或者这在python(matplotlib)中是不可能的?
3条答案
按热度按时间xxb16uws1#
**步骤1.**准备数据
**步骤2.**绘制数据
rsaldnfx2#
下面是一个使用seaborn的一行程序(基于matplotlib,可以通过matplotlib调用进一步定制)。
作为一个以前的R人,现在主要使用python,我也一直在寻找一种更简单的方法来做到这一点,而不依赖于
plotnine
,而是使用python社区更原生的绘图库。希望这有帮助!
33qvvth13#
如果你不喜欢matplotlib,而更喜欢ggplot,那么你可以使用
plotnine
库,它是Python中ggplot的克隆。语法几乎相同:输出如下: