r语言ggplot绘图之后如何在拟合直线上添加方程
可以使用ggplot2中的geom_text()函数在拟合直线上添加方程。具体步骤如下:
- 在ggplot绘图时,使用geom_smooth()函数拟合直线,设置method参数为“lm”(线性模型)。
例如:
ggplot(data, aes(x, y)) + geom_point() + geom_smooth(method = "lm")
- 使用stat_poly_eq()函数将方程添加到拟合直线上。需要设置formula参数为拟合模型的方程式,eq.with.lhs参数为TRUE,以显示方程的左侧变量名称(默认为“y”),以及aes参数,以在适当的位置添加方程。
例如:
ggplot(data, aes(x, y)) + geom_point() + geom_smooth(method = "lm") + stat_poly_eq(formula = y ~ x, eq.with.lhs = TRUE, aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")), parse = TRUE)
其中,formula参数中的“y”和“x”分别代表因变量和自变量;eq.with.lhs参数设置为TRUE,表示显示方程的左侧变量名称;aes参数中的label参数用于设置方程式和相关系数的标签,使用paste()函数将它们连接起来;parse参数设置为TRUE,表示允许使用LaTeX语法,以美化方程式的显示效果。
- 可以进一步使用theme()函数调整方程的位置、字体、颜色等属性。
例如:
ggplot(data, aes(x, y)) + geom_point() + geom_smooth(method = "lm") + stat_poly_eq(formula = y ~ x, eq.with.lhs = TRUE, aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")), parse = TRUE) + theme( axis.title.x = element_text(size = 12), axis.title.y = element_text(size = 12), axis.text = element_text(size = 10), legend.position = "bottom", legend.title = element_blank(), legend.text = element_text(size = 10), plot.title = element_text(size = 14, face = "bold"), strip.text = element_text(size = 12), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank(), panel.border = element_blank() )
这里使用了theme()函数设置了一些常见的图形属性,例如坐标轴标签、刻度文字、图例位置和字体、标题字体、面板网格和边框等。
原文地址: https://www.cveoy.top/t/topic/bf6s 著作权归作者所有。请勿转载和采集!