我使用stat_poly_eq()
在图表上输出参数和公式,但收到警告消息:
stat_poly_eq()
中的计算失败:可变长度不同(为'R0'找到)。
我的脚本如下。
ggplot(data=dat, aes(x= T_mean,y= LM.flux, col= Treat2 )) +
geom_point()+
geom_smooth(method = "nls", se=FALSE, color="red", formula = 'y~ R0 *
exp(Bm*x)',
method.args= list(start=c(R0= 0.01, Bm=0.01)))+
stat_poly_eq(aes(label = paste(stat(eq.label), stat(rr.label),
stat(AIC.label), sep = "~~~")), formula ='y~ R0 * exp(Bm*x)',
rr.digits=3,coef.digits=2, parse = TRUE) +
theme_classic()+
theme(plot.title = element_text(hjust = 0.5) +
scale_x_continuous(breaks=c(0, 5, 6, 7))+
scale_y_continuous(breaks = seq(0,1.5,by = 0.1), limits = seq(0,1.5)))
> R0
[1] 0.0289297
我不知道我的脚本出了什么问题,因为我定义了rr.digits=4,coef.digits=4
。另一个问题是该图的y轴间隔仍为0.5,但我定义了scale_y_continuous(breaks = seq(0,1.5,by = 0.1), limits = seq(0,1.5))
。
希望有人可以提供帮助。谢谢!
您可以尝试像这样将输出添加到绘图上
geom_text(aes(x=5,y=35,hjust=0,label=(paste(expression("y~ R0 * exp(Bm*x)")))),parse=TRUE,size=8,colour="red") +
geom_text(aes(x=5,y=30,hjust=0,label=(paste(expression("R"^2*" = 0.75")))),parse=TRUE,size=8,colour="blue")
这里是r平方,我以固定数字(0.75)为例,因为我不知道您是如何计算结果的。请为您的目的尝试一下。
如果最终图像的分辨率遇到任何问题,可以尝试输出为.tiff
来解决问题。