如果我有一个像下面这样的数据,我对每个位置做了一个线性回归图。
location=rep(c("A","B","C"),each=5)
nitrogen=rep(c(0,10,20,30,40), time=3)
yield=c(15,20,25,29,38,10,20,40,50,55,15,17,16,17,20)
dataA=data.frame(location, nitrogen, yield)
ggplot(data=dataA, aes(x=nitrogen, y=yield))+
stat_smooth(method='lm', linetype=1, se=FALSE, formula=y~x, linewidth=0.5) +
geom_point(color="black", size=4) +
scale_x_continuous(breaks=seq(0,40,10), limits = c(0,40)) +
scale_y_continuous(breaks=seq(0,60,10), limits = c(0,60)) +
labs(x="N rate", y="Grain Yield") +
facet_wrap(~location) +
theme_grey(base_size=20, base_family="serif")+
theme(axis.line=element_line(linewidth=0.5, colour="black"))+
windows(width=8, height=7)
图表如下所示。
现在在位置C,它不显示线性。所以我不想只在位置C显示回归线(或提供不同的颜色或虚线等)。
你能告诉我如何改变每组的回归线类型吗?
非常感谢!!
1条答案
按热度按时间ldxq2e6h1#
您可以使用多个
stat_smooth()
来处理不同的数据。例如,位置C中的颜色和线型不同。
如果你想改变每组(即A、B、C)回归线的样式,你可以使用三个
stat_smooth()
。创建于2023-04-13带有reprex v2.0.2