r-如何使用ggplot2使用不同的数据集绘制绘图



我正在尝试使用ggplot2绘制一条线和一个点。我看了一下,但它假设使用了相同的数据集。我想做的是

library(ggplot2)
df = data.frame(Credible=c(0.2, 0.3),
len=c(0, 0))
zero=data.frame(x0=0,y0=0)
ggplot(data=df, aes(x=Credible, y=len, group=1)) +
geom_line(color="red")+
geom_point()+
labs(x = "Credible", y = "")
ggplot(data=zero, aes(x=x0, y=y0, group=1)) +
geom_point(color="green")+
labs(x = "Credible", y = "")

但它只生成第二个绘图(点(。

谢谢

考虑到您创建问题的谨慎和可重复的方式,我不仅仅是指旧的答案,因为它可能更难转移子集等。

每当运行ggplot(...)时,都要初始化一个新的ggplot对象。

如果你想在现有的绘图上添加一个图层,你必须对同一个对象进行操作,比如:

ggplot(data=df, aes(x=Credible, y=len, group=1)) +
geom_line(color="red")+
geom_point()+
labs(x = "Credible", y = "") +
geom_point(data=zero, color="green", aes(x=x0, y=y0, group=1))

请注意,在第二个geom_point中,数据源和美学是如何明确指定的,以防止它们从初始对象继承。

最新更新