【实验楼/Seaborn】Seaborn概览

Seaborn简介

matplotlib可能是基于Python最优秀的绘图库了。但是它的api数目比较多,较为复杂。
Seaborn基于matplotlib的核心库进行了更高级的封装。可以绘制出更高级的图形。

Seaborn的基本使用

由于Seaborn是基于matplotlib进行开发的。因此我们使用seaborn时只需正常使用matplotlib的api。外加简单的几句Seaborn函数即可:

import seaborn as sns
sns.set()

Seaborn绘图API概览

当然sns也自带绘图的API,你可以直接使用sns的API。
首先你要知道Seaborn绘图的API主要可以分为两类:

  1. Figure-level的,比如relplot。
  2. Axes-level的,比如scatterplot和lineplot。

这两个level的区别在于,figure-level像是懒人函数,适合于快速应用。而axes-plot的可以实现与matplotlib实现更加灵活和紧密的结合。
不过这些API的使用方法是大同小异的。比如说他们都有相同的属性:

  1. data属性:选择什么样的对象。
  2. x和y属性:选择哪些数据在图上当做x和y轴展示。
  3. hue:给每一个线段或者散点染色。
  4. style:设置每一个线段或者散点的格式。

关联图

涉及到关联性分析的时候,我们可以使用一下API

  1. replot:绘制关系图(即可以画散点,可以画线型图, 默认是画散点,你可以指定kind属性来选择话什么图形)
  2. scatterplot:专门绘制散点图。
  3. lineplot: 专门绘制线型图。
    在这里插入图片描述
    在这里插入图片描述

类别图

(我感觉这些图都差不多。。)

  1. 分类散点图:

    • stripplot()(kind="strip")
      在这里插入图片描述
    • swarmplot()(kind="swarm")
      在这里插入图片描述
  2. 分类分布图:

    • boxplot() (kind="box")
      在这里插入图片描述
    • violinplot() (kind="violin")
      在这里插入图片描述
    • boxenplot()(kind="boxen")
      在这里插入图片描述
  3. 分类估计图:

    • pointplot()(kind="point")
      在这里插入图片描述
    • barplot() (kind="bar")
      在这里插入图片描述
    • countplot() (kind="count")
      在这里插入图片描述

分布图

我们可以通过分布图查看变量的分布情况。一般分为单变量分布(这个好像没什么用),还有一个多变量分布(基本上都是两个变量,两个以上的变量很难绘制出直观的可视化图形
不过说实话下面几个图并不是分布函数(CDF)的图,而是离散型随机变量PMF的图片。因为CDP必然是非降的。

一. 查看单变量分布

sns.distplot(iris["sepal_length"])

在这里插入图片描述
查看多变量分布我们一般适用jointplot函数:

二. 核密度估计函数

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

在这里插入图片描述

三. 六边形计数图

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

在这里插入图片描述

四. pairplot

这个应该是seaborn中最为强大的api了。它能够把所有特征两两分布图全部都画出来:

sns.pairplot(iris, hue="species")

矩阵图

矩阵图里最常用的两个图是heatmapclustermap
其中:

  1. heatmap是用来画热力图,用来研究各个变量之间的相关性的。
  2. clustermap是用来使用层次聚类方法的。
发布了137 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43338695/article/details/103302878