首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ggplot2创建包含三个变量(而不是类别!)的堆叠条形图?

如何使用ggplot2创建包含三个变量(而不是类别!)的堆叠条形图?
EN

Stack Overflow用户
提问于 2020-04-06 08:48:15
回答 1查看 112关注 0票数 0

我有一个包含冠状病毒每日演变数据的数据框,其中包含4列:日期、活动病例、死亡和恢复。由于这3个最后值的总和等于病例总数,我想要一个条形图,其中每天有一个对应的条形图,分为3个部分:活动病例,死亡和恢复。我如何使用ggplot来做这件事呢?提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 09:04:08

例如,为了适应ggplot2的使用,一种可能的方法是使用pivot_longer函数将数据帧重塑为更长的格式。

以一个假数据集为例:

代码语言:javascript
运行
复制
library(lubridate)
df <- data.frame(date = seq(ymd("2020-01-01"),ymd("2020-01-10"),by = "day"),
                 active = sample(10:100,10),
                 death = sample(10:100,10),
                 recov = sample(10:100,10))

library(dplyr)
library(tidyr)
library(ggplot2)

df %>% pivot_longer(-date, names_to = "case", values_to = "val") %>%
  mutate(case = factor(case, levels = c("active","recov","death"))) %>%
  ggplot(aes(x = date, y = val, fill = case))+
  geom_col(position = position_stack(reverse = TRUE))

它回答了你的问题吗?

如果没有,请按照本指南提供一个可重复使用的数据集示例:How to make a great R reproducible example和您到目前为止已经尝试过的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61051410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档