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/mHwz 著作权归作者所有。请勿转载和采集!