Как использовать geom_abline для добавления прямых линий в ggplot2
Вы можете использовать функцию geom_abline() и другие подобные функции geom для добавления прямых линий на графики в ggplot2.
Вот наиболее распространенные способы использования этих функций:
Способ 1. Используйте geom_abline(), чтобы добавить линию с уклоном и пересечением.
ggplot(df, aes(x, y)) +
geom_point() +
geom_abline(slope= 3 , intercept= 15 )
Способ 2. Используйте geom_vline(), чтобы добавить вертикальную линию.
ggplot(df, aes(x=xvar, y=yvar)) +
geom_point() +
geom_vline(xintercept= 5 )
Способ 3. Используйте 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