Визуализация Python | Seaborn 5-минутное введение (2) - barplot&countplot&pointplot

визуализация данных
Визуализация Python | Seaborn 5-минутное введение (2) - barplot&countplot&pointplot

Публичный аккаунт WeChat: «Python Reading Finance»
Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте

Seaborn — это библиотека визуализации Python, основанная на matplotlib. Он предоставляет расширенный интерфейс для рисования привлекательных статистических графиков. Seaborn на самом деле инкапсулирует более продвинутый API на основе matplotlib, что упрощает рисование и делает ваши графики более точными без большого количества настроек.

image

Примечание. Весь код реализован в блокноте IPython.


гистограмма (гистограмма)

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

seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=(function mean), ci=95, n_boot=1000, units=None, orient=None, color=None, palette=None, saturation=0.75, errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None, **kwargs)

Далее мы изучим использование некоторых параметров на конкретных примерах:

%matplotlib inline
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as 
plt.rc("font",family="SimHei",size="12")  #用于解决中文显示不了的问题
sns.set_style("whitegrid") 

Набор данных, используемый в этой статье, выглядит следующим образом.

data.head(5)   #data是一个dataframe

image

x,y(str): имена столбцов в кадре данных

data: кадр данных или массив

sns.barplot(x="color",y="age",data=data)

image

Толкование изображений: Сиборн будет'color'значения в столбцеклассифицироватьследитьestimatorМетод параметра (по умолчанию означает) вычисляет соответствующее значение,Вычисленное значение используется в качестве значения, отображаемого на гистограмме.(Полосы ошибок на гистограмме указываютОшибка значения каждой категории относительно значения, отображаемого на гистограмме)

hue(ул): имена столбцов данных dataframe, в соответствии со значениями в именах столбцов, чтобы сформировать категориальную гистограмму

sns.barplot(x="color",y="age",data=data,hue="gender")

image

order, hue_order(списки строк): используется для управления порядком столбцов.

fig,axes=plt.subplots(1,2)
sns.barplot(x="gender",y="age",data=data,ax=axes[0])
sns.barplot(x="gender",y="age",data=data,ax=axes[1],order=["女","男"])

image

estimator: контролировать, какое значение округленных данных столбца гистограммы

fig,axes=plt.subplots(1,2)
sns.barplot(x="gender",y="age",data=data,ax=axes[0])  #左图,默认为平均值
sns.barplot(x="gender",y="age",estimator=np.median,data=data,ax=axes[1])  #右图,中位数

image

ci(плавать): Статистический доверительный интервал (от 0 до 100), если заполнить"sd"стандартная ошибка используется для баров ошибок. (по умолчанию 95)

fig,axes=plt.subplots(1,2)
sns.barplot(x="color",y="age",data=data,ci=0,ax=axes[0])  #左图
sns.barplot(x="color",y="age",data=data,ci="sd",ax=axes[1])  #右图

image

capsize(Плавать):Установите заглавные буквы погрешностей (Две горизонтальные линии вверх и вниз) ширина

fig,axes=plt.subplots(1,2)
sns.barplot(x="color",y="age",data=data,ax=axes[0],capsize=.2)  #左图
sns.barplot(x="color",y="age",data=data,ax=axes[1],capsize=.5)  #右图

image

palette: палитра, управление разными цветамиstyle

fig,axes=plt.subplots(2,1)
sns.barplot(x="color",y="age",data=data,ax=axes[0])  #上图
sns.barplot(x="color",y="age",data=data,palette="Set3",ax=axes[1])  #下图

image

взаимозаменяемые оси X, Y

fig,axes=plt.subplots(1,2)
sns.barplot(x="age",y="color",data=data,ax=axes[0])  #左图
sns.barplot(x="color",y="age",data=data,ax=axes[1])  #右图

image


Начало работы с countplot

Граф счета можно рассматривать какКатегориальная гистограмма, а не количественные переменные. Базовый API и опции сbarplot()то же самое, так что вы можете сравнивать счетчики во вложенных переменных. (Как это работаетКлассифицировать входящие данные, отображается гистограммаКоличество каждой категории) Конкретное использование выглядит следующим образом:

seaborn.countplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs)

Примечание: параметры countplot в основном такие же, как и у barplot.Вы можете сравнить память.Одно отличие состоит в том, что x и y нельзя вводить одновременно в countplot, а countplot не имеет полос ошибок.

Попробуйте это на примере:

fig,axes=plt.subplots(1,2)
sns.countplot(x="gender",data=data,ax=axes[0]) #左图
sns.countplot(y="gender",data=data,ax=axes[1])  #右图

image

fig,axes=plt.subplots(1,2)
sns.countplot(x="gender",hue="smoker",data=data,ax=axes[0]) #左图
sns.countplot(y="gender",hue="smoker",data=data,ax=axes[1])  #右图

image

fig,axes=plt.subplots(2,1)
sns.countplot(x="color",data=data,ax=axes[0])  #上图
sns.countplot(x="color",data=data,palette="Set3",ax=axes[1])  #下图

image


Начало работы с точечным графиком

Точечные графики представляют оценки центрального тренда числовых переменных в точках точечной диаграммы и используютПланки погрешностейДает некоторое указание на неопределенность этой оценки. возможен точечный графикБолее полезен, чем гистограммы, для сопоставления различных уровней одной или нескольких категориальных переменных.. Они особенно хороши для выражения взаимодействий:Как взаимосвязь между уровнями одной категориальной переменной меняется по уровням второй категориальной переменной. подключиться оттот же уровень тонаЛиния в каждой точке позволяет взаимодействию проходить черезразница в наклонеСудя по всему, это проще, чем сравнивать высоты нескольких наборов точек или баров. Конкретное использование заключается в следующем:

seaborn.pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=(function mean), ci=95, n_boot=1000, units=None, markers='o', linestyles='-', dodge=False, join=True, scale=1, orient=None, color=None, palette=None, errwidth=None, capsize=None, ax=None, **kwargs)

Далее продолжаем использовать для рисования предыдущий набор данных, а те же параметры, что и гистограммы, подробно демонстрировать не будем, сосредоточившись на уникальности точечной диаграммы.

sns.set(font_scale) #初始化seaborn配置,并设置字体大小
sns.set_style("darkgrid") #灰色网格背景
sns.pointplot(x="smoker",y="age",data=data)

image

Точки на рисунке – этосредняя точка, вертикальная линияпланки погрешностей, две средние точки будут соединены по умолчанию. Если вы не хотите отображать это, вы можете передатьjoinРеализация параметра:

sns.pointplot(x="smoker",y="age",data=data,join=False)

image

Мы уже демонстрировалиbarplotизhueпараметры, теперь давайте посмотрим наpointplotизhueпараметр:

sns.pointplot(x="smoker",y="age",data=data,hue="gender")

image

Мы видим, что полосы погрешностей для двух классов перекрываются, что делает наблюдения за данными нечеткими. Как решить эту проблему?pointplotизdodgeПараметры могут располагать перекрывающиеся части в шахматном порядке:

sns.pointplot(x="smoker",y="age",data=data,hue="gender",dodge=True)

image

Затем мы стилизуем средние точки (по параметруmarkersконтроль) и линия между точками одного оттенка (по параметруlinestylesуправления) внести некоторые изменения.

sns.pointplot(x="smoker",y="age",data=data,hue="gender",dodge=True,markers=["*","x"],linestyles=["-.","--"])

image

Для других стилей, пожалуйста, обратитесь к стилям линий matplotlib.

Поменять местами оси X и Y

sns.pointplot(x="age",y="color",data=data)

image

пройти черезcolorПараметры для управления цветами различных однослойных графиков

sns.pointplot(x="age",y="color",data=data,color="#bb3f3f")

image

Есть и другие параметры с таким же эффектом, как у гистограммы, вы можете попробовать сами. Вышеупомянутое содержание написано мной в сочетании с официальными документами и моим собственным пониманием.Если есть какие-либо ошибки, пожалуйста, не стесняйтесьуказать и прокомментировать,общий обмен и прогресс, я также надеюсь, что то, что я написал, может помочь вам более или менее после прочтения этой статьи!

Обратите внимание на публичный аккаунт"Питон Чтение Финансов", ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python, а также группу обмена обучением Python!

底部二维码.png