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

Tambahkan komentar

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