Як додати горизонтальну лінію до графіка та легенди в ggplot2
Ви можете використати такий синтаксис, щоб додати горизонтальну лінію до графіка в ggplot2, а потім також додати горизонтальну лінію як елемент у легенді:
library (ggplot2) #create data frame with values to plot df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Створивши окремий кадр даних, що містить лише значення перетину y горизонтальної лінії, ми можемо додати горизонтальну лінію до графіка та автоматично додати її до легенди.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: додайте горизонтальну лінію до графіка та легенди в ggplot2
Припустимо, у R є наступний кадр даних, який містить інформацію про баскетболістів різних команд:
#create data frame df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #view data frame df team assists points 1 To 1 4 2 to 3 8 3 to 3 12 4 to 4 10 5 to 5 18 6 B 7 25 7 B 7 20 8 B 9 28 9 B 9 33 10 B 10 35
Припустімо, ми хочемо створити діаграму розсіювання в ggplot2, щоб візуалізувати значення очок і передач для кожного гравця на основі їхньої команди, а потім додати горизонтальну лінію на y = 22, щоб визначити «поріг» для різниці між хорошим і поганим гравців.
Для цього ми можемо використати такий синтаксис:
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Зауважте, що легенда праворуч від графіка містить кола, які вказують, які точки на графіку належать яким командам, а також до легенди додано горизонтальну лінію, яка представляє лінію розрізу.
Якщо ви хочете змінити підпис горизонтального рядка в легенді, просто відредагуйте текст у стовпці «Рядки» у фреймі даних розриву .
Наприклад, ми можемо використати такий синтаксис, щоб змінити мітку горизонтальної лінії на «Поріг добра проти зла»:
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff of Good vs. Bad ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Зверніть увагу, що підпис горизонтальної лінії в легенді змінився.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:
Як змінити назву легенди в ggplot2
Як змінити розмір легенди в ggplot2
Як змінити положення легенди в ggplot2