Cara mengubah urutan aspek di ggplot2 (dengan contoh)


Anda dapat menggunakan sintaks dasar berikut untuk menentukan urutan faset di ggplot2:

 p+
  facet_grid(~factor(my_variable, levels=c(' val1 ', ' val2 ', ' val3 ', ...)))

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: mengubah urutan faset di ggplot2

Misalkan kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team points assists
1 to 8 10
2 to 14 5
3 B 20 5
4 B 22 3
5 C 25 8
6 C 29 6
7 D 30 9
8 D 31 12

Kode berikut menunjukkan cara menggunakan facet_grid() untuk membuat grid yang menampilkan sebar assist versus poin untuk setiap tim:

 library (ggplot2)

#create multiple scatter plots using facet_grid
ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(.~team)

Secara default, ggplot2 mengurutkan plot sebar berdasarkan nilai yang muncul pertama kali dalam variabel tim bingkai data.

Namun, kita dapat mengonversi tim menjadi variabel faktor dan menggunakan argumen level untuk menentukan urutan penempatan tim dalam plot:

 library (ggplot2)

#create multiple scatter plots using facet_grid with specific order
ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(~factor(team, levels=c(' C ', ' D ', ' A ', ' B '))) 

ubah urutan aspek di ggplot2

Perhatikan bahwa titik awan sekarang diurutkan sesuai dengan urutan yang kita tentukan dalam argumen level : C, D, A, B.

Keuntungan menggunakan pendekatan ini adalah kami tidak benar-benar mengubah data yang mendasarinya.

Sebagai gantinya, kami hanya mengubah level di fungsi facet_grid() .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di ggplot2:

Cara mengubah ukuran font di ggplot2
Cara menghapus legenda di ggplot2
Cara memutar label sumbu di ggplot2

Tambahkan komentar

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