首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ggplot绘制具有预先计算的汇总统计信息的多个变量?

如何使用ggplot绘制具有预先计算的汇总统计信息的多个变量?
EN

Stack Overflow用户
提问于 2021-10-28 18:18:33
回答 1查看 49关注 0票数 0

我正在尝试考虑如何存储多个变量的预先计算的汇总统计信息,并使用它们创建一个使用ggplot的并排(dodge)条形图,然后使用第三个变量创建一个分面并排的曲线图。

我想创建两个图。

作为示例,首先,我想使用这些数据的并排条形图来比较y1和y2:

代码语言:javascript
运行
复制
x <- c("A", "B", "C", "D")
y1 <- c(24, 26, 31, 19)
y2 <- c(16, 22, 33, 29)

然后,我希望使用这些数据获得一个小平面包装的并排条形图的外观:

代码语言:javascript
运行
复制
x <- c("A","B","C","D")

y1_facet1 <- c(78, 7, 9, 6)
y2_facet1 <- c(67, 10, 15, 8)

y1_facet2 <- c(77, 7, 9, 7)
y2_facet2 <- c(70, 9, 13, 8)

任何人所能提供的任何帮助都将非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-10-28 18:50:12

如果您首先将数据整形为更长的格式,则使用ggplot2会更容易。在这里,我使用tidyr::pivot_longer(-x)获取所有非x的列,并将它们组合成成对的name (即源列)和value。然后我们可以使用group/fill/color等将它们映射到不同的组--这里最简单的是使用fill来确定单独的条形图应该是什么,以及应该如何根据它们所关联的系列在填充中区分它们。

代码语言:javascript
运行
复制
library(tidyverse) # uses ggplot2, dplyr, tidyr
x <- c("A", "B", "C", "D")
y1 <- c(24, 26, 31, 19)
y2 <- c(16, 22, 33, 29)
data1 <- data.frame(x, y1, y2) %>%
  pivot_longer(-x)
plot1 <- ggplot(data1, aes(x, value, fill = name)) +
  geom_col(position = position_dodge())


x <- c("A","B","C","D")
y1_facet1 <- c(78, 7, 9, 6)
y2_facet1 <- c(67, 10, 15, 8)
y1_facet2 <- c(77, 7, 9, 7)
y2_facet2 <- c(70, 9, 13, 8)
data2 <- data.frame(x, y1_facet1, y2_facet1, y1_facet2, y2_facet2) %>%
  pivot_longer(-x) %>%
  separate(name, c("name", "facet"))
plot2 <- ggplot(data2, aes(x, value, fill = name)) +
  geom_col(position = position_dodge()) +
  facet_wrap(~facet)

library(patchwork)
plot1 + plot2 +  plot_layout(guides = "collect") 

或者,您可以先将数据合并到一个图中。如果希望调整facet顺序,可以将facet变量转换为因子,并使用也随tidyverse加载的forcats控制其顺序。

代码语言:javascript
运行
复制
data3 = bind_rows(data1 %>% mutate(facet = "facet0"), data2)
ggplot(data3, aes(x, value, fill = name)) +
  geom_col(position = position_dodge()) +
  facet_wrap(~facet)

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

https://stackoverflow.com/questions/69759092

复制
相关文章

相似问题

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