[英]How to draw lines and points on same plot in ggplot2?
我想同時包含數據幀q中的點和q的平滑函數,以及df1的平滑函數。 該圖僅返回q的點。 有沒有辦法做到這一點? 謝謝。
df1 <- data.frame(Rate=rnorm(10, 500, 100), Damage=rnorm(10, 50, 15))
q <- data.frame(R=rnorm(20, 550, 50), V=rnorm(20, 35, 10))
ggplot(df1,aes(x=Rate,y=Damage)) +
#geom_polygon(data=ci,aes(x=x,y=y),fill='gray80') +
geom_point(data=q,aes(x=R,y=V)) +
geom_smooth(aes(col = "GPs"), method="auto",se=FALSE) +
geom_smooth(data=q, mapping=aes(x=R, y=V, col="observed"),
method="auto",se=FALSE) +
coord_cartesian(xlim=c(0,1000), ylim=c(0, 100)) +
theme_bw() +
scale_y_continuous(breaks=seq(0, 100, 20),) +
labs(subtitle="PPS post-emergence",
x = "Rate (mg/Ha)",
y = NULL) +
scale_color_manual("My legend", values=c("Predicted (GPs)" = "steelblue",
"Observed (average)" = "firebrick"))
您的顏色映射沒有意義。 您已將顏色映射到“ GP”和“已觀察”。 但是色標中的值與這些值不匹配。 您可以使用
ggplot(df1,aes(x=Rate,y=Damage)) +
geom_point(data=q,aes(x=R,y=V)) +
geom_smooth(aes(col = "GPs"), method="auto",se=FALSE) +
geom_smooth(data=q, mapping=aes(x=R, y=V, col="observed"),
method="auto",se=FALSE) +
coord_cartesian(xlim=c(0,1000), ylim=c(0, 100)) +
theme_bw() +
scale_y_continuous(breaks=seq(0, 100, 20),) +
labs(subtitle="PPS post-emergence",
x = "Rate (mg/Ha)",
y = NULL) +
scale_color_manual("My legend", values=c("GPs" = "steelblue",
"observed" = "firebrick"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.