Bagaimana cara menambahkan garis horizontal ke plot dan legenda di ggplot2


Anda dapat menggunakan sintaks berikut untuk menambahkan garis horizontal ke plot di ggplot2, lalu menambahkan garis horizontal sebagai elemen dalam legenda:

 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)

Dengan membuat bingkai data terpisah yang hanya berisi nilai perpotongan y dari garis horizontal, kita dapat menambahkan garis horizontal ke plot dan secara otomatis menambahkannya ke legenda.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Tambahkan garis horizontal ke plot dan legenda di ggplot2

Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang pemain bola basket dari tim berbeda:

 #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

Katakanlah kita ingin membuat scatterplot di ggplot2 untuk memvisualisasikan nilai poin dan assist untuk setiap pemain berdasarkan timnya, lalu menambahkan garis horizontal di y = 22 untuk menentukan “ambang batas” perbedaan antara yang baik dan yang buruk pemain.

Kita dapat menggunakan sintaks berikut untuk melakukan ini:

 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) 

ggplot2 menambahkan garis horizontal ke legenda

Perhatikan bahwa legenda di sebelah kanan plot berisi lingkaran yang menunjukkan titik mana pada plot yang termasuk dalam tim mana dan garis horizontal juga telah ditambahkan ke legenda untuk mewakili garis potong.

Jika Anda ingin mengubah caption garis horizontal pada legenda, cukup edit teks pada kolom Rows di Break Data Frame.

Misalnya, kita dapat menggunakan sintaks berikut untuk mengubah label garis horizontal menjadi “Ambang Baik versus Jahat”:

 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) 

Perhatikan bahwa label garis horizontal pada legenda telah berubah.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di ggplot2:

Bagaimana cara mengubah judul legenda di ggplot2
Cara mengubah ukuran legenda di ggplot2
Bagaimana cara mengubah posisi legenda di ggplot2

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *