Библиотека Seaborn

Как отображать значения на гистограмме Seaborn (с примерами)

Как отображать значения на гистограмме Seaborn (с примерами)
В: Библиотека Seaborn

Вы можете использовать следующую функцию для отображения значений на гистограмме моря:

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 (p. 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 () - (p. get_height ()\*0.5)
 value = '{:.1f} '. format (p. 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 на 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 (p. get_height ())

Например, изменить его с.от 1f до .2f , чтобы отображались два десятичных знака вместо одного.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции в Seaborn:

Как создать круговую диаграмму в Seaborn
Как создать график временных рядов в Seaborn
Как создать несколько графиков Seaborn на одном рисунке

Еще от кодкамп
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.