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 で時系列プロットを作成する方法
単一の Figure 内に複数の Seaborn プロットを作成する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です