通过使用 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)
它们看起来像这样(都有黑点,我需要将其中一个更改为不同的东西):
和
最佳答案
使用当前数据集创建单个组合图看起来像这样
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/