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)
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