Cara menampilkan nilai di seaborn barplot (dengan contoh)


Anda dapat menggunakan fungsi berikut untuk menampilkan nilai pada barplot laut :

 def show_values (axs, orient=" v ", space=.01):
    def _single (ax):
        if orient == " v ":
            for p in ax. patches :
                _x = p. get_x () + p. get_width ()/2
                _y = p. get_y () + p. get_height () + ( p.get_height ()*0.01)
                value = ' {:.1f} '. format (e.g. get_height ())
                ax. text (_x, _y, value, ha=" center ") 
        elif orient == " h ":
            for p in ax. patches :
                _x = p. get_x () + p. get_width () + float(space)
                _y = p. get_y () + p. get_height () - (e.g. get_height ()*0.5)
                value = ' {:.1f} '. format (e.g. get_width ())
                ax. text (_x, _y, value, ha=" left ")

    if isinstance(axs, np.ndarray ):
        for idx, ax in np. ndenumerate (axs):
            _single(ax)
    else :
        _single(axs)

Fungsi ini berfungsi untuk barplot horizontal dan vertikal.

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktik dengan kumpulan data “tips” Seaborn:

 import seaborn as sns
import pandas as pd
import numpy as np

#load tips dataset
data = sns. load_dataset (“ tips ”)

#view first five rows
data. head ()

	total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

Contoh 1: Menampilkan nilai pada barplot vertikal

Kode berikut menunjukkan cara menampilkan nilai pada barplot vertikal:

 #create vertical barplot
p = sns. barplot (x=" day ", y=" tip ", data=data, ci= None )

#show values on barplot
show_values(p)

Contoh 2: Menampilkan nilai pada barplot horizontal

Kode berikut menunjukkan cara menampilkan nilai pada barplot horizontal:

 #create horizontal barplot
p = sns. barplot (x=" tip ", y=" day ", data=data, ci= None )

#show values on barplot
show_values(p, " h ", space= 0 )

Perhatikan bahwa semakin besar nilai yang Anda gunakan untuk spasi, semakin jauh jarak label dari batang.

Misalnya, mari kita ubah spasi dari 0 menjadi 0,05 :

 #create horizontal barplot
p = sns. barplot (x=" tip ", y=" day ", data=data, ci= None )

#show values on barplot
show_values(p, " h ", space= 0.05 ) 

Catatan : Untuk mengubah jumlah tempat desimal yang ditampilkan, cukup ubah nilai pada baris fungsi ini:

 value = ' {:.1f} '. format (e.g. get_height ())

Misalnya, ubah menjadi . 1f hingga .2f untuk menampilkan dua tempat desimal, bukan satu.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan fungsi umum lainnya di seaborn:

Cara Membuat Diagram Lingkaran di Seaborn
Cara Membuat Plot Deret Waktu di Seaborn
Cara Membuat Beberapa Plot Seaborn dalam Satu Gambar

Tambahkan komentar

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