Как добавить вертикальную линию на график с помощью ggplot2


Вы можете быстро добавить вертикальные линии на графики ggplot2 с помощью функции geom_vline() , которая использует следующий синтаксис:

geom_vline (xintercept, тип линии, цвет, размер)

куда:

  • xintercept: Место для добавления строки на x-intercept. Это может быть одно значение или несколько значений.
  • тип линии: стиль линии. По умолчанию — «сплошной», но вы можете указать «два тире», «длинное тире», «точечный», «точечный», «пунктирный» или «пустой».
  • цвет: Цвет линии.
  • размер: Ширина линии.

В следующих примерах показано, как использовать эту функцию на практике.

Добавьте одну вертикальную линию на график

В следующем коде показано, как добавить на график одну вертикальную линию:

library (ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with vertical line at x=10
ggplot(df, aes (x=x, y=y)) +
 geom_point() +
 geom_vline(xintercept= 10 )

Добавьте несколько вертикальных линий к графикам

В следующем коде показано, как добавить на график несколько вертикальных линий:

library (ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with vertical line at x=6, 10, and 11
ggplot(df, aes (x=x, y=y)) +
 geom_point() +
 geom_vline(xintercept=c( 6, 10, 11 )) 

Настроить вертикальные линии

В следующем коде показано, как настроить вертикальные линии на графике:

library (ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with customized vertical line
ggplot(df, aes (x=x, y=y)) +
 geom_point() +
 geom_vline(xintercept= 5 , linetype='dashed', color='blue', size =2 ) 

Если у вас есть несколько вертикальных линий на одном графике, вы можете указать уникальный цвет для каждой линии:

library (ggplot2)

#create data frame 
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
 y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))

#create scatterplot with customized vertical lines
ggplot(df, aes (x=x, y=y)) +
 geom_point() +
 geom_vline(xintercept=c( 5 , 7 ) , linetype='dashed', color=c('blue', 'red')) 

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:

Как построить линию линейной регрессии в ggplot2
Как установить пределы оси в ggplot2
Как создавать параллельные графики в ggplot2