如何使用geom_abline在ggplot2中添加直线
您可以使用geom_abline()函数和其他类似的geom函数向 ggplot2 中的绘图添加直线。
以下是使用这些功能的最常见方法:
方法一:使用geom_abline()添加有斜率和交点的直线
ggplot(df, aes(x, y)) +
geom_point() +
geom_abline(slope= 3 , intercept= 15 )
方法二:使用geom_vline()添加垂直线
ggplot(df, aes(x=xvar, y=yvar)) +
geom_point() +
geom_vline(xintercept= 5 )
方法三:使用geom_hline()添加水平线
ggplot(df, aes(x=xvar, y=yvar)) +
geom_point() +
geom_hline(yintercept= 25 )
方法4:使用geom_smooth()添加回归线
ggplot(df, aes(x=xvar, y=yvar)) +
geom_point() +
geom_smooth(method=' lm ')
以下示例展示了如何在 R 中使用以下数据框来实际使用这些方法:
#create data frame df <- data. frame (x=c(1, 2, 3, 3, 5, 7, 9), y=c(8, 14, 18, 25, 29, 33, 25)) #view data frame df xy 1 1 8 2 2 14 3 3 18 4 3 25 5 5 29 6 7 33 7 9 25
示例 1:使用 geom_abline() 添加具有斜率和交点的线
以下代码演示如何使用geom_abline()将直线添加到斜率为 3、y 轴截距为 15 的散点图:
library (ggplot2) #create scatterplot and add straight line with specific slope and intercept ggplot(df, aes(x=x, y=y)) + geom_point() + geom_abline(slope= 3 , intercept= 15 )
示例2:使用geom_vline()添加垂直线
以下代码显示如何使用geom_vline()在 x=5 处向散点图添加垂直线:
library (ggplot2) #create scatterplot and add vertical line at x=5 ggplot(df, aes(x=x, y=y)) + geom_point() + geom_vline(xintercept= 5 )
示例3:使用geom_hline()添加水平线
以下代码显示如何使用geom_hline()在 y=25 处向散点图添加水平线:
library (ggplot2) #create scatterplot and add horizontal line at y=25 ggplot(df, aes(x=x, y=y)) + geom_point() + geom_hline(yintercept= 25 )
示例 4:使用 geom_smooth() 添加回归线
以下代码显示如何使用geom_smooth()将拟合回归线添加到散点图:
library (ggplot2) #create scatterplot and add fitted regression line ggplot(df, aes(x=x, y=y)) + geom_point() + geom_smooth(method=' lm ', se= FALSE )
注意: se=FALSE参数告诉 ggplot2 不要显示标准误差估计的阴影线。
其他资源
以下教程解释了如何在ggplot2中执行其他常用操作:
ggplot2中如何调整线条粗细
如何在ggplot2中设置轴限制
如何删除ggplot2中的网格线
如何更改ggplot2中的背景颜色