r-当我使用散点图时,可以将一个GGPLOT添加到另一个上方



我有一个数据集,当天有一个点,我有一个数据集,夜晚有点。我想将白天之上的夜晚添加,以便我可以在同一情节中比较两者。这可能吗?

我白天和晚上已经有GGPLOT,称为plot_day和plot_night。我想在白天的夜晚中添加积分,并具有不同的形状和颜色,因此我可以很容易地看到,例如,天气和圆圈是夜晚:

ggplot(plot_day, aes(x=time, c(plot_day, plot_night))) +
ggtitle("") + theme_update(plot.title=element_text(hjust=0.5))+
geom_points(aes(y=plot_day, colour="plot_day"))+
geom_point(aes(y=plot_night, colour="plot_night"))+
labs(title="", x="", y="") + ylim(c(0,5))+
scale_color_discrete(name="", labels=c("Day", "Night")), theme_light() +
scale_x_date(date_labels=%b%, date_breaks="1 month", minor_breaks=NULL)+
theme_update(plot.title=element_text(hjust=0.5)) + theme_light()

我的方法将是以下内容,假设data_daydata_night具有相同的列(但是替换您自己的数据(:

ggplot(data_day, aes(x = time, y = some_y_value_column)) +
  geom_point(data = data_day, aes(shape = "day", colour = "day")) +
  geom_point(data = data_night, aes(shape = "night", colour = "night")) +
  ...theme/scales/labs etc...

然后,您可以通过添加适当的量表来控制形状和颜色:

  scale_colour_manual(values = c("red", "blue"), breaks = c("day", "night")) +
  scale_shape_manual(values = c(15, 19), breaks = c("day", "night"))

编辑:如果您先组合数据并执行以下操作,甚至会更容易:

new_data <- rbind(cbind(data_day, id = "day"),
                  cbind(data_night, id = "night")
ggplot(new_data, aes(x = time, y = some_y_value_column)) +
  geom_point(aes(shape = id, colour = id))

最新更新