欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

seaborn变量分析+热力图

程序员文章站 2022-03-22 16:00:21
...

单变量

直方图看数据分布

plt.figure(figsize=(12,5))

#默认图形
plt.subplot(141) 
sns.distplot(x)

#不画直方图
plt.subplot(142)
sns.distplot(x,hist=False) 

#不画线图
plt.subplot(143)
sns.distplot(x,kde=False,bins=20) 

#设置fit
plt.subplot(144)
sns.distplot(x, kde=False, fit=stats.gamma)

seaborn变量分析+热力图

多变量

使用seaborn自带数据集进行分析

sns.jointplot(x="sepal_length", y="sepal_width", data=iris);

seaborn变量分析+热力图

当数据较多时,需要看数据聚集程度,可以用下面的方法

with sns.axes_style("white"):
    sns.jointplot(x="sepal_length", y="sepal_width", data=iris, kind="hex", color="k")

seaborn变量分析+热力图

查看所有变量之间的相关性

sns.pairplot(iris)

seaborn变量分析+热力图

分类变量

数图

#基本图
plt.subplot(221)
sns.stripplot(x="day", y="total_bill", data=tips)#如果数据堆叠可以使用 jitter=True

#树图
plt.subplot(222)
sns.swarmplot(x="day", y="total_bill", data=tips)

#查看分类
plt.subplot(223)
sns.swarmplot(x="day", y="total_bill", hue="sex",data=tips)

#横置
plt.subplot(224)
sns.swarmplot(x="total_bill", y="day", hue="sex", data=tips);

seaborn变量分析+热力图

盒图/小提琴图

#盒图
plt.subplot(121)
sns.boxplot(x="day", y="total_bill", hue="sex", data=tips)

#小提琴图
plt.subplot(122)
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips)

seaborn变量分析+热力图

#在一个小提琴图里绘制变量对比
plt.subplot(121)
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, split=True)

#组合
plt.subplot(122)
sns.violinplot(x="day", y="total_bill", data=tips, inner=None)
sns.swarmplot(x="day", y="total_bill", data=tips, color="w", alpha=.5)

seaborn变量分析+热力图

factorplot

factorplot是一封装了多种图形的函数

seaborn.factorplot(x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=, ci=95, n_boot=1000, units=None, order=None, hue_order=None, row_order=None, col_order=None, kind=‘point’, size=4, aspect=1, orient=None, color=None, palette=None, legend=True, legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, **kwargs)

  • x,y,hue 数据集变量 变量名
  • date 数据集 数据集名
  • row,col 更多分类变量进行平铺显示 变量名
  • col_wrap 每行的最高平铺数 整数
  • estimator 在每个分类中进行矢量到标量的映射 矢量
  • ci 置信区间 浮点数或None
  • n_boot 计算置信区间时使用的引导迭代次数 整数
  • units 采样单元的标识符,用于执行多级引导和重复测量设计 数据变量或向量数据
  • order, hue_order 对应排序列表 字符串列表
  • row_order, col_order 对应排序列表 字符串列表
  • kind : 可选:point 默认, bar 柱形图, count 频次, box 箱体, violin 提琴, strip 散点,swarm 分散点
    size 每个面的高度(英寸) 标量
    aspect 纵横比 标量
    orient 方向 “v”/“h”
    color 颜色 matplotlib颜色
    palette 调色板 seaborn颜色色板或字典
    legend hue的信息面板 True/False
    legend_out 是否扩展图形,并将信息框绘制在中心右边 True/False
    share{x,y} 共享轴线 True/False

example

#盒图
sns.factorplot(x="time", y="total_bill", hue="smoker",
               col="day", data=tips, kind="box", size=4, aspect=.5)

seaborn变量分析+热力图

热力图

#默认图形
plt.subplot(231)
sns.heatmap(heat_data)

#设置阈值,最大最小
plt.subplot(232)
sns.heatmap(heat_data, vmin=0.2, vmax=0.5)

#设置中心值
plt.subplot(233)
sns.heatmap(heat_data, center=0)

#显示数字
plt.subplot(234)
sns.heatmap(heat_data, annot=True,fmt="f")#fmt="d"显示整数

#设置间隔
plt.subplot(235)
sns.heatmap(heat_data, linewidths=.5)

#设置颜色
plt.subplot(236)
sns.heatmap(heat_data, cmap="YlGnBu")

seaborn变量分析+热力图