我想在图中写一个模型方程。
nitrogen<- c(10,15,20,25)
yield<- c(50,70,85,30)
dataA<- data.frame(nitrogen,yield)
ggplot(data=dataA, aes(x=nitrogen, y=yield))+
geom_point (col="Black", size=4) +
stat_smooth(method='lm', linetype=1, se=FALSE, formula=y~poly(x,2, raw=TRUE), size=0.5, color="Blue") +
windows(width=5.5, height=5)现在我想在图中写下面的方程式。我知道这方面有很多问题,但我找不到解决办法,而且还在苦苦挣扎。所以我再问一遍。很抱歉重复了问题。
你能告诉我怎么写上标和下标文本吗?
总是非常感谢!!


发布于 2022-11-02 22:45:35
library(ggplot2)
nitrogen<- c(10,15,20,25)
yield<- c(50,70,85,30)
dataA<- data.frame(nitrogen,yield)
coef = coef(lm(yield ~ poly(nitrogen,2, raw=TRUE)))
ggplot(data=dataA, aes(x=nitrogen, y=yield))+
geom_point (col="Black", size=4) +
stat_smooth(method='lm', linetype=1, se=FALSE, formula=y~poly(x,2, raw=TRUE), size=0.5, color="Blue") +
windows(width=5.5, height=5) +
annotate("text", x=15, y=16, label = bquote(~ Y[i][j]==.(coef[1])+.(coef[2])*x+.(coef[3])*x^2))

编辑这个版本对公式显示提供了更多的控制:
ggplot(data=dataA, aes(x=nitrogen, y=yield))+
geom_point (col="Black", size=4) +
stat_smooth(method='lm', linetype=1, se=FALSE, formula=y~poly(x,2, raw=TRUE), size=0.5, color="Blue") +
windows(width=5.5, height=5) +
annotate("text", x=15, y=16, label = bquote(
~ paste(Y[i][j],"=", .(sprintf("%.2f", coef[[1]])), .(sprintf("%+.2f",coef[[2]])),x, .(sprintf("%+.4f",coef[[3]])),x^2)))https://stackoverflow.com/questions/74296121
复制相似问题