可视化--Seaborn

本文介绍 Python 中的 Seaborn 库,一种基于 Matplotlib 的高级数据可视化工具,支持 numpy 和 pandas 数据结构,用于绘制统计图表。文章展示了如何使用 Seaborn 绘制单变量和双变量分布图、核密度估计图、散点图、盒子图、小提琴图等,并通过实例讲解了不同绘图函数的参数配置。

Seaborn

python 中的制图工具库,可以制作出吸引人的,信息量大的统计图

在Matplotlib上构建,支持numpy和pandas的数据结构可视化,甚至是scipy和statsmodels的统计模型可视化

主要用于比较数据集中各变量的分布情况

数据集分布可视化------>单变量分布sns.displot()

sns.displot()  参数(rug:密度小柱状体;kde密度曲线)

import numpy as np
import pandas as pd
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
x1 = np.random.normal(size=100)
sns.distplot(x1, bins=20, kde=True, rug=True,
            rug_kws = {'color':'y'},
             #设置数据频率分布颜色
             kde_kws = {'color':'k', 'lw':1, 'label':'KDE', 'linestyle':'--'},
             #设置密度曲线颜色、线宽、标注、 线形
             hist_kws = {'histtype':'stepfilled', 'linewidth':1, 'alpha':1, 'color':'g'})
             # 设置箱子的风格、线宽、透明度、颜色
             # 风格包括:'bar'、'barstacked'、'step'、'stepfilled')

x2 = np.random.randint(0, 100, 500)
sns.distplot(x2, hist=False, rug=True)

sns.kdeplot(x2, shade=True)
sns.rugplot(x2)

拟合参数分布

sns.distplot(x2, kde=True, fit=stats.gamma)

双变量分布

# 双变量分布
df_obj1 = pd.DataFrame({"x": np.random.randn(500),
                   "y": np.random.randn(500)})

df_obj2 = pd.DataFrame({"x": np.random.randn(500),
                   "y": np.random.randint(0, 100, 500)})

 散点分布图
 

sns.jointplot(x="x", y="y", data=df_obj1)

sns.jointplot(x="x", y="y", data=df_obj1, kind="hex");

核密度估计

sns.jointplot(x="x", y="y", data=df_obj1, kind="kde");

数据集中变量间关系可视化

dataset = sns.load_dataset("tips")
#dataset = sns.load_dataset("iris")
sns.pairplot(dataset)

类别数据可视化(sns.stripplot   sns.swarmplot   )

1.类别内散布图

exercise = sns.load_dataset('exercise')
sns.stripplot(x="diet", y="pulse", data=exercise)

sns.swarmplot(x="diet", y="pulse", data=exercise, hue='kind')

2.类别内数据分布

盒子图(sns.boxplot)

sns.boxplot(x="diet", y="pulse", data=exercise)
sns.boxplot(x="diet", y="pulse", data=exercise, hue='kind')

小提琴图

#sns.violinplot(x="diet", y="pulse", data=exercise)
sns.violinplot(x="diet", y="pulse", data=exercise, hue='kind')

3.类别内统计图

柱状图

sns.barplot(x="diet", y="pulse", data=exercise, hue='kind')

点图

sns.pointplot(x="diet", y="pulse", data=exercise, hue='kind')

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值