Публичный аккаунт WeChat: «Python Reading Finance»
Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте
Seaborn — это библиотека визуализации Python, основанная на matplotlib. Он предоставляет расширенный интерфейс для рисования привлекательных статистических графиков. Seaborn на самом деле инкапсулирует более продвинутый API на основе matplotlib, что упрощает рисование и делает ваши графики более точными без большого количества настроек.
Установка Seaborn
>>>pip install seaborn
После установки пакета Seaborn мы начнем следующее исследование.Во-первых, мы представим метод рисования kdeplot.
Примечание. Весь код реализован в блокноте IPython.
kdeplot (график оценки плотности ядра)
Оценка плотности ядра находится втеория вероятностииспользуется для оценки неизвестногофункция плотности, который является одним из непараметрических методов тестирования. С помощью карты оценки плотности ядра можно интуитивно увидеть характеристики распределения самих выборок данных. Конкретное использование заключается в следующем:
seaborn.kdeplot(data,data2=None,shade=False,vertical=False,kernel='gau',bw='scott',gridsize=100,cut=3,clip=None,legend=True,cumulative=False,shade_lowest=True,cbar=False, cbar_ax=None, cbar_kws=None, ax=None, *kwargs)
Давайте изучим использование некоторых параметров на конкретных примерах:
Сначала импортируйте соответствующую библиотеку
%matplotlib inline #IPython notebook中的魔法方法,这样每次运行后可以直接得到图像,不再需要使用plt.show()
import numpy as np #导入numpy包,用于生成数组
import seaborn as sns #习惯上简写成snssns.set()
sns.set()#切换到seaborn的默认运行配置
Нарисуйте простое изображение 1D kde
x=np.random.randn(100) #随机生成100个符合正态分布的数sns.kdeplot(x)
cut
: Параметр указывает, насколько полоса резания доходит до предельного значения числовой оси при рисовании (по умолчанию 3).
sns.kdeplot(x,cut=0)
cumulative
: рисовать ли кумулятивное распределение
sns.kdeplot(x,cumulative=True)
shade
: Если установлено значение True, обработка теней выполняется в области ниже кривой kde, а color управляет цветом кривой и тени.
sns.kdeplot(x,shade=True,color="g")
vertical
: Указывает, рисовать ли по оси X или по оси Y.
sns.kdeplot(x,vertical=True)
двоичный образ kde
y=np.random.randn(100)
sns.kdeplot(x,y,shade=True)
cbar
: если параметр имеет значение True, будет добавлена цветная полоса (цветная полоса доступна только в бинарных образах kde)
sns.kdeplot(x,y,shade=True,cbar=True)
Далее переходим к более мощному distplot
distplot
displot()
собранныйmatplotlib
изhist()
Функция kdeplot для оценки с помощью функции ядра добавляет новое использование отображения полосы наблюдения за распределением rugplot и подгонку параметрических распределений с использованием подгонки библиотеки scipy. Конкретное использование заключается в следующем:
seaborn.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)
Сначала представим гистограмму (Гистограммы):
гистограмма, также известная какКарта массового распространения, который является основным инструментом для представления изменений данных. Регулярность данных можно проанализировать с помощью гистограммы, а состояние распределения характеристик качества продукта можно увидеть интуитивно. Гистограмма представляет диапазон данных, проходя поформирование биннинга, затем нарисуйте полосы, чтобыОтображает количество наблюдений, попадающих в каждый бинраспространение данных.
Далее давайте испытаем использование distplot на конкретных примерах:
sns.distplot(x,color="g")
пройти черезhist
иkde
Отображать ли гистограмму и оценку плотности ядра для настройки параметров (по умолчаниюhist
,kde
обаTrue
)
import matplotlib.pyplot as pltfig,axes=plt.subplots(1,3) #创建一个一行三列的画布
sns.distplot(x,ax=axes[0]) #左图
sns.distplot(x,hist=False,ax=axes[1]) #中图
sns.distplot(x,kde=False,ax=axes[2]) #右图
bins
: int или list, управляет делением гистограммы
fig,axes=plt.subplots(1,2)
sns.distplot(x,kde=False,bins=20,ax=axes[0]) #左图:分成20个区间
sns.distplot(x,kde=False,bins=[x for x in range(4)],ax=axes[1]) #右图:以0,1,2,3为分割点,形成区间[0,1],[1,2],[2,3],区间外的值不计入。
rag
: Управляет созданием небольших тонких полос наблюдаемых значений.
fig,axes=plt.subplots(1,2)
sns.distplot(x,rug=True,ax=axes[0]) #左图
sns.distplot(x,ax=axes[1]) #右图
fit
: Управляет согласованным графиком распределения параметров, который может интуитивно оценить его соответствие наблюдаемым данным (черная линия — определенное распределение)
from scipy.stats import *
sns.distplot(x,hist=False,fit=norm) #拟合标准正态分布
hist_kws
, kde_kws
, rug_kws
, fit_kws
Параметр получает тип словаря, вы можете определить более сложные стили самостоятельно
sns.distplot(x,kde_kws={"label":"KDE"},vertical=True,color="y")
norm_hist
: еслиTrue
, высота гистограммы показывает плотность, а не количество (сkde
По умолчанию на изображенииTrue
)
fig,axes=plt.subplots(1,2)
sns.distplot(x,norm_hist=True,kde=False,ax=axes[0]) #左图
sns.distplot(x,kde=False,ax=axes[1]) #右图
Есть и другие параметры, которые здесь не представлены.Студенты, которые заинтересованы в продолжении обучения, могут ознакомиться с официальной документацией Seaborn. Вышеупомянутое содержание написано мной в сочетании с официальными документами и моим собственным пониманием.Если есть какие-либо ошибки, пожалуйста, не стесняйтесьуказать и прокомментировать,общий обмен и прогресс, я также надеюсь, что то, что я написал, может принести вам более или менее помощь после прочтения этой статьи!
Обратите внимание на общедоступный номер"Питон Чтение Финансов", ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python, а также группу обмена обучением Python!