Bagaimana mengubah urutan bar di seaborn barplot


Anda dapat menggunakan metode berikut untuk mengubah urutan batang di plot laut :

Metode 1: Urutkan bilah di Barplot yang dibuat dari data mentah

 sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df. sort_values (' yvar '). xvar )

Metode 2: Urutkan bilah di Barplot yang dibuat dari data gabungan

 sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df_agg[' xvar ']

Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.

Contoh 1: Sortir bar di Barplot dibuat dari data mentah

Misalkan kita memiliki panda DataFrame berikut yang berisi informasi tentang total penjualan yang dilakukan oleh berbagai karyawan suatu perusahaan:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' employee ': ['Andy', 'Bert', 'Chad', 'Doug', 'Eric', 'Frank'],
                   ' sales ': [22, 14, 9, 7, 29, 20]})

#view DataFrame
print (df)

  employee sales
0 Andy 22
1 Bert 14
2 Chad 9
3 Doug 7
4 Eric 29
5 Frank 20

Kita dapat menggunakan sintaks berikut untuk membuat barplot di mana bar diurutkan dalam urutan menaik berdasarkan nilai penjualan :

 import seaborn as sns

#create barplot with bars sorted by sales values ascending
sns. barplot (x=' employee ', y=' sales ', data=df, order=df. sort_values (' sales '). employee )

Untuk mengurutkan batang dalam urutan menurun, cukup gunakan ascending=False dalam fungsi sort_values() :

 import seaborn as sns

#create barplot with bars sorted by sales values descending
sns. barplot (x=' employee ', y=' sales ', data=df,
            order=df. sort_values (' sales ', ascending= False ). employee ) 

Contoh 2: Sortir bilah di Barplot dibuat dari data gabungan

Misalkan kita memiliki panda DataFrame berikut yang berisi informasi tentang total penjualan yang dilakukan oleh berbagai karyawan suatu perusahaan:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' employee ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' sales ': [24, 20, 25, 14, 19, 13, 30, 35, 28]})

#view DataFrame
print (df)

  employee sales
0 to 24
1 to 20
2 to 25
3 B 14
4 B 19
5 B 13
6 C 30
7 C 35
8 C 28

Kita dapat menggunakan sintaks berikut untuk menghitung rata-rata nilai penjualan , yang dikelompokkan berdasarkan karyawan :

 #calculate mean sales by employee
df_agg = df. groupby ([' employee '])[' sales ']. mean (). reset_index (). sort_values (' sales ')

#view aggregated data
print (df_agg)

  employee sales
1 B 15.333333
0 to 23.000000
2 C 31.000000

Kita kemudian dapat menggunakan sintaks berikut untuk membuat barplot di seaborn yang menampilkan rata-rata penjualan per karyawan dengan bar ditampilkan dalam urutan menaik:

 import seaborn as sns

#create barplot with bars ordered in ascending order by mean sales
sns. barplot (x=' employee ', y=' sales ', data=df,
            order=df_agg[' employee '], errorbar=(' ci ', False )) 

Sumbu X menampilkan nama karyawan dan sumbu Y menampilkan rata-rata nilai penjualan setiap karyawan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan fungsi umum lainnya di seaborn:

Cara menampilkan nilai di Seaborn Barplot
Cara membuat barplot yang dikelompokkan di Seaborn
Cara mengatur warna batang di barplot Seaborn

Tambahkan komentar

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