我正在尝试使用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
中,数据源和美学是如何明确指定的,以防止它们从初始对象继承。