วิธีแสดงค่าบน seaborn barplot (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชันต่อไปนี้เพื่อแสดงค่าบน barplot ทางทะเล :

 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)

ฟังก์ชันนี้ใช้ได้กับ barplot แนวนอนและแนวตั้ง

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติกับชุดข้อมูล “เคล็ดลับ” ของ 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

ตัวอย่างที่ 1: แสดงค่าบน barplot แนวตั้ง

รหัสต่อไปนี้แสดงวิธีการแสดงค่าบน barplot แนวตั้ง:

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

#show values on barplot
show_values(p)

ตัวอย่างที่ 2: แสดงค่าบน barplot แนวนอน

รหัสต่อไปนี้แสดงวิธีการแสดงค่าบน barplot แนวนอน:

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

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

โปรดทราบว่ายิ่งคุณใช้ค่าช่องว่างมากเท่าใด ป้ายก็จะยิ่งอยู่ห่างจากแถบมากขึ้นเท่านั้น

ตัวอย่างเช่น ลองเปลี่ยนช่องว่างจาก 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 ) 

หมายเหตุ : หากต้องการเปลี่ยนจำนวนตำแหน่งทศนิยมที่แสดง เพียงเปลี่ยนค่าในบรรทัดของฟังก์ชันนี้:

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

เช่น เปลี่ยนเป็น . 1f ถึง .2f เพื่อแสดงทศนิยมสองตำแหน่งแทนที่จะเป็นหนึ่งตำแหน่ง

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำหน้าที่ทั่วไปอื่นๆ ในทะเล:

วิธีสร้างแผนภูมิวงกลมใน Seaborn
วิธีสร้างพล็อตอนุกรมเวลาใน Seaborn
วิธีการสร้างแปลง Seaborn หลายแปลงในรูปเดียว

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *