Публичный аккаунт WeChat: «Python Reading Finance»
Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте
Seaborn — это библиотека визуализации Python, основанная на matplotlib. Он предоставляет расширенный интерфейс для рисования привлекательных статистических графиков. Seaborn на самом деле инкапсулирует более продвинутый API на основе matplotlib, что упрощает рисование и делает ваши графики более точными без большого количества настроек.
Примечание. Весь код реализован в блокноте 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
x
,y
(str): имена столбцов в кадре данных
data
: кадр данных или массив
sns.barplot(x="color",y="age",data=data)
Толкование изображений: Сиборн будет'color'
значения в столбцеклассифицироватьследитьestimatorМетод параметра (по умолчанию означает) вычисляет соответствующее значение,Вычисленное значение используется в качестве значения, отображаемого на гистограмме.(Полосы ошибок на гистограмме указываютОшибка значения каждой категории относительно значения, отображаемого на гистограмме)
hue
(ул): имена столбцов данных dataframe, в соответствии со значениями в именах столбцов, чтобы сформировать категориальную гистограмму
sns.barplot(x="color",y="age",data=data,hue="gender")
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=["女","男"])
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]) #右图,中位数
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]) #右图
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) #右图
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]) #下图
взаимозаменяемые оси 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]) #右图
Начало работы с 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]) #右图
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]) #右图
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]) #下图
Начало работы с точечным графиком
Точечные графики представляют оценки центрального тренда числовых переменных в точках точечной диаграммы и используютПланки погрешностейДает некоторое указание на неопределенность этой оценки. возможен точечный графикБолее полезен, чем гистограммы, для сопоставления различных уровней одной или нескольких категориальных переменных.. Они особенно хороши для выражения взаимодействий:Как взаимосвязь между уровнями одной категориальной переменной меняется по уровням второй категориальной переменной. подключиться оттот же уровень тонаЛиния в каждой точке позволяет взаимодействию проходить черезразница в наклонеСудя по всему, это проще, чем сравнивать высоты нескольких наборов точек или баров. Конкретное использование заключается в следующем:
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)
Точки на рисунке – этосредняя точка, вертикальная линияпланки погрешностей, две средние точки будут соединены по умолчанию. Если вы не хотите отображать это, вы можете передатьjoin
Реализация параметра:
sns.pointplot(x="smoker",y="age",data=data,join=False)
Мы уже демонстрировалиbarplot
изhue
параметры, теперь давайте посмотрим наpointplot
изhue
параметр:
sns.pointplot(x="smoker",y="age",data=data,hue="gender")
Мы видим, что полосы погрешностей для двух классов перекрываются, что делает наблюдения за данными нечеткими. Как решить эту проблему?pointplot
изdodge
Параметры могут располагать перекрывающиеся части в шахматном порядке:
sns.pointplot(x="smoker",y="age",data=data,hue="gender",dodge=True)
Затем мы стилизуем средние точки (по параметруmarkers
контроль) и линия между точками одного оттенка (по параметруlinestyles
управления) внести некоторые изменения.
sns.pointplot(x="smoker",y="age",data=data,hue="gender",dodge=True,markers=["*","x"],linestyles=["-.","--"])
Для других стилей, пожалуйста, обратитесь к стилям линий matplotlib.
Поменять местами оси X и Y
sns.pointplot(x="age",y="color",data=data)
пройти черезcolor
Параметры для управления цветами различных однослойных графиков
sns.pointplot(x="age",y="color",data=data,color="#bb3f3f")
Есть и другие параметры с таким же эффектом, как у гистограммы, вы можете попробовать сами. Вышеупомянутое содержание написано мной в сочетании с официальными документами и моим собственным пониманием.Если есть какие-либо ошибки, пожалуйста, не стесняйтесьуказать и прокомментировать,общий обмен и прогресс, я также надеюсь, что то, что я написал, может помочь вам более или менее после прочтения этой статьи!
Обратите внимание на публичный аккаунт"Питон Чтение Финансов", ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python, а также группу обмена обучением Python!