Cara mengurutkan plot kotak pada sumbu x di seaborn
Anda dapat menggunakan metode berikut untuk mengubah urutan plot kotak sepanjang sumbu x di Seaborn:
Metode 1: Urutkan Plot Kotak Menggunakan Pesanan Khusus
sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=[' A ',' B ',' C '])
Metode 2: Urutkan Plot Kotak Menggunakan Metrik
group_means=df. groupby ([' group_var '])[' values_var ']. mean (). sort_values (ascending= True ) sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=group_means. index )
Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik dengan panda DataFrame berikut yang menunjukkan poin yang dicetak oleh pemain bola basket dari tiga tim berbeda:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C'], ' points ': [3, 4, 6, 8, 9, 10, 13, 16, 18, 20, 8, 9, 12, 13, 15]}) #view head of DataFrame print ( df.head ()) team points 0 to 3 1 to 4 2 to 6 3 to 8 4 to 9
Contoh 1: Memesan plot kotak menggunakan pesanan khusus
Kode berikut menunjukkan cara membuat boxplot untuk memvisualisasikan distribusi poin untuk setiap tim dan mengurutkan boxplot tersebut dengan urutan sebagai berikut berdasarkan nama tim: C, A, B.
import seaborn as sns
#create boxplots with custom order
sns. boxplot (x=' team ', y=' points ', data=df, order=[' C ', ' A ', ' B '])
Perhatikan bahwa plot kotak diurutkan sepanjang sumbu x sesuai urutan yang kami tentukan.
Contoh 2: Mengurutkan Plot Kotak Menggunakan Metrik
Kode berikut menunjukkan cara membuat diagram kotak untuk memvisualisasikan distribusi poin untuk setiap tim dan mengurutkan diagram kotak dalam urutan menaik berdasarkan rata-rata poin yang dicetak per tim:
import seaborn as sns
#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= True )
#create boxplots ordered by mean points (ascending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index )
Perhatikan bahwa plot kotak diurutkan sepanjang sumbu x berdasarkan nilai poin rata-rata per tim dalam urutan menaik.
Untuk menampilkan plot kotak dalam urutan menurun, cukup tentukan ascending=False dalam fungsi sort_values() :
import seaborn as sns
#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= False )
#create boxplots ordered by mean points (descending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index )
Plot kotak sekarang diurutkan sepanjang sumbu x berdasarkan nilai poin rata-rata per tim dalam urutan menurun.
Catatan : Untuk mengurutkan plot kotak berdasarkan metrik yang berbeda (misalnya median), cukup tentukan metrik tersebut setelah fungsi groupby() pada kode di atas.
Sumber daya tambahan
Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di seaborn:
Cara menghilangkan outlier dari plot kotak Seaborn
Cara membuat plot kotak multi-kolom di Seaborn