r - 如何将 2 个图(ggplot)合并为一个图?

标签 r graph plot ggplot2 visualization

通过使用 R,是否可以将 2 个 ggplot 放在一起(即在同一个图上)?我希望显示 2 个不同数据框的趋势,而不是将它们放在另一个数据框旁边,我想将它们集成在一个图中,并且仅更改其中一个数据框(黑点)的颜色。

更具体地说,我有以下 2 个视觉效果:

ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="blue", colour="darkblue", size=1)

ggplot(visual2, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="red", colour="red", size=1)

它们看起来像这样(都有黑点,我需要将其中一个更改为不同的东西):

enter image description here

enter image description here

最佳答案

使用当前数据集创建单个组合图看起来像这样

p <- ggplot() +
      # blue plot
      geom_point(data=visual1, aes(x=ISSUE_DATE, y=COUNTED)) + 
      geom_smooth(data=visual1, aes(x=ISSUE_DATE, y=COUNTED), fill="blue",
        colour="darkblue", size=1) +
      # red plot
      geom_point(data=visual2, aes(x=ISSUE_DATE, y=COUNTED)) + 
      geom_smooth(data=visual2, aes(x=ISSUE_DATE, y=COUNTED), fill="red",
        colour="red", size=1)

但是,如果您可以在绘图之前合并数据集,那么 ggplot 将 自动给你一个图例,总的来说,代码看起来更干净一些

visual1$group <- 1
visual2$group <- 2

visual12 <- rbind(visual1, visual2)

p <- ggplot(visual12, aes(x=ISSUE_DATE, y=COUNTED, group=group, col=group, fill=group)) +
      geom_point() +
      geom_smooth(size=1)

关于r - 如何将 2 个图(ggplot)合并为一个图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192002/

相关文章:

r - 如何使图表更易于阅读?编辑情节

r - 如何在 ggplot 中绘制 y 值向量?

r - ggplot2使图例键填充透明

RStudio 0.97.551 在控制台中显示无法识别的字符

python - 将 pandas 数据框转换为定向 networkx 多图

大写和斜体的 R 绘图标题

linux - Graphviz 找不到任何字体

Java 让用户创建和执行算法

r - R的assign()函数什么时候合适?

r - 填充 R data.frame 中每行中缺失的元素