r - ggplot2 - 如何并排绘制图表,只留下一个图例

标签 r ggplot2 graph position

根据下面的示例数据集,我尝试制作 2 个图表并将它们并排放置。我尝试使用cowplot包来做到这一点。最终的输出真的很困惑。

有没有一种方法可以让我并排绘制它们,只显示 1 个图例,集中在底部(因为两个图都包含相同的元素)?

df <- data.frame(Year = c(rep(2012,5), rep(2016,5),
                          rep(2012,5), rep(2016,5),
                          rep(2012,5), rep(2016,5)),
                 Category = rep(c('A1','A2','A3','A4','A5'),6),
                 Group = rep(c('T1','T1','T1','T1','T1',
                           'T2','T2','T2','T2','T2',
                           'T3','T3','T3','T3','T3'),2),
                 Variable = runif(30,0,100))


plot2012 <- ggplot(df, aes(x = Group, y = Variable)) +
  geom_bar(aes(fill = Category), stat = 'identity') +
  ylim(0,500) +
  labs(y = 'Variable') +
  theme(legend.position = 'bottom',
        legend.title = element_blank(),
        axis.title = element_text(size = 10),
        legend.text = element_text(size = 10),
        axis.text = element_text(size = 10))

plot2016 <- ggplot(df, aes(x = Group, y = Variable)) +
  geom_bar(aes(fill = Category), stat = 'identity') +
  ylim(0,500) +
  labs(y = 'Variable') +
  theme(legend.position = 'bottom',
        legend.title = element_blank(),
        axis.title = element_text(size = 10),
        legend.text = element_text(size = 10),
        axis.text = element_text(size = 10))

欢迎对格式/代码提出任何其他一般性评论

最佳答案

您可以将 facet_grid 添加到您的 ggplot 调用中。

ggplot(df, aes(x = Group, y = Variable)) +
  geom_bar(aes(fill = Category), stat = 'identity') +
  ylim(0,500) +
  labs(y = 'Variable') +
  # Generate plots as panel based on Year
  facet_grid(. ~ Year) +
  theme(legend.position = 'bottom',
        legend.title = element_blank(),
        axis.title = element_text(size = 10),
        legend.text = element_text(size = 10),
        axis.text = element_text(size = 10))

关于r - ggplot2 - 如何并排绘制图表,只留下一个图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428480/

相关文章:

r - 如何在 r Shiny 中使用rhandsontable下载表格?

r - 函数中的术语是什么意思?

r - 在数据框中添加名称为最大列的新列

javascript - GraphQL : Require at least one argument in a query

r - 如何将 pajek .paj 文件导入到 R 的 igraph 中?

javascript - 谷歌图 TableView 窗口模式显式

r - 是否可以在 ode(deSolve 包)中使用 rk4 和 rootfun

r - 如何在ggplot中向geom_vline添加文本

r - 有没有一种简单的方法可以反转 geom() 内 aes() 内的比例顺序?

r - 将单位标签添加到 ggplot2 中的颜色渐变图例