Seaborn 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)

이 기능은 수평 및 수직 막대 그래프에 작동합니다.

다음 예는 Seaborn “tips” 데이터 세트에서 실제로 이 기능을 사용하는 방법을 보여줍니다.

 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: 수직 막대 그래프에 값 표시

다음 코드는 수직 막대 그래프에 값을 표시하는 방법을 보여줍니다.

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

#show values on barplot
show_values(p)

예시 2: 수평 막대 그래프에 값 표시

다음 코드는 수평 막대 그래프에 값을 표시하는 방법을 보여줍니다.

 #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 는 소수점 1자리 대신 2자리를 표시합니다.

추가 리소스

다음 튜토리얼에서는 seaborn에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.

Seaborn에서 원형 차트를 만드는 방법
Seaborn에서 시계열 도표를 만드는 방법
단일 그림에 여러 Seaborn 플롯을 생성하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다