Jak dodać średnią linię do wykresu w ggplot2


Możesz użyć następującej podstawowej składni, aby dodać linię reprezentującą średnią wartość na wykresie w ggplot2:

 ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_hline(yintercept = mean(df$y, na. rm = TRUE ))

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: dodaj średnią linię do wykresu w ggplot2

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
                 y=c(2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15))

#view head of data frame
head(df)

  xy
1 1 2
2 2 5
3 3 6
4 4 5
5 5 7
6 6 8

Możemy użyć poniższego kodu, aby utworzyć wykres rozrzutu x względem y i dodać poziomą linię reprezentującą średnią wartość y:

 library (ggplot2)

#create scatter plot with average line to represent average y-value
ggplot(df, aes(x=x, y=y)) +
    geom_point() +
    geom_hline(yintercept = mean(df$y, na. rm = TRUE )) 

ggplot2 dodaje średnią linię

Widzimy, że do wykresu dodano linię średnią tuż nad wartością y wynoszącą 8.

Jeśli obliczymy średnią wartość y, okaże się, że wynosi ona 8,333:

 #calculate average y-value
mean(df$y, na. rm = TRUE )

[1] 8.333333

Zauważ, że możemy również użyć argumentów color , lty i lwd do określenia odpowiednio koloru, rodzaju linii i szerokości linii średniej:

 library (ggplot2)

#create scatter plot with custom average line
ggplot(df, aes(x=x, y=y)) +
    geom_point() +
    geom_hline(yintercept = mean(df$y, na. rm = TRUE ), color=' blue ', lty=' dashed ', lwd= 2 ) 

Środkowa linia jest teraz niebieska, kropkowana i ma szerokość 2.

Pełną dokumentację online funkcji geom_hline() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w ggplot2:

Jak narysować linię trendu w ggplot2
Jak dostosować grubość linii w ggplot2
Jak ustawić limity osi w ggplot2

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *