Ggplot2'de çizime ortalama çizgi nasıl eklenir


ggplot2’deki bir çizimdeki ortalama değeri temsil eden bir çizgi eklemek için aşağıdaki temel sözdizimini kullanabilirsiniz:

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

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: ggplot2’deki çizime ortalama bir çizgi ekleyin

R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #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

X’e karşı y’nin dağılım grafiğini oluşturmak ve ortalama y değerini temsil eden yatay bir çizgi eklemek için aşağıdaki kodu kullanabiliriz:

 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 ortalama çizgi ekler

Grafiğe y değerinin 8’in hemen üzerine ortalama bir çizginin eklendiğini görebiliriz.

Ortalama y değerini hesaplarsak 8,333 olduğunu buluruz:

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

[1] 8.333333

Ortalama çizginin rengini, çizgi tipini ve çizgi genişliğini sırasıyla belirtmek için color , lty ve lwd argümanlarını da kullanabileceğimizi unutmayın:

 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 ) 

Orta çizgi artık mavidir, noktalıdır ve çizgi genişliği 2’dir.

geom_hline() işlevine ilişkin çevrimiçi belgelerin tamamını burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimler ggplot2’de diğer genel görevlerin nasıl gerçekleştirileceğini açıklamaktadır:

Ggplot2’de trend çizgisi nasıl çizilir
Ggplot2’de çizgi kalınlığı nasıl ayarlanır
Ggplot2’de eksen sınırları nasıl ayarlanır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir