| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python数据分析11——Seaborn绘图 -> 正文阅读 |
|
[Python知识库]Python数据分析11——Seaborn绘图 |
目录 Seaborn介绍Seaborn 是一个基于 matplotlib 且数据结构与 pandas 统一的统计图制作库。他提前已经定义好了一套自己的风格。然后也封装了一系列的方便的绘图函数,之前通过 matplotlib 需要很多代码才能实现完成的图,使用 seaborn 可能非常简单,一行代码搞定。 Seaborn安装1.通过 pip:pip install seaborn; 2.通过 anaconda:conda install seaborn; 官方文档中文学习文档: An introduction to seaborn-Seaborn 0.9 中文文档 (cntofu.com)https://www.cntofu.com/book/172/docs/1.md Seaborn绘图风格在seaborn中,可以通过三个函数来设置样式。分别是 sns.set_style;sns.axes_style;sns.set 方法。 sns.axes_style(1)如果没有传任何参数,返回的是字段属性; (2)临时的样式;
例如: ? sns.set_style()这个函数和?sns.axes_style 一样,也是用来设置绘图风格的。但是这个函数的风格设置,不是临时的,而是一旦设置了,那么下面所有绘图风格都会用这个风格。
例如: ? sns.setset 方法也是用来设置样式的,它的功能更加强大。除了 style 以外,还可以设置调色板,字体,字体大小,颜色等,也可以设置其它的 matplotlib.rcParams可以接受的参数。
例如: ? sns.despine移除轴脊柱函数; 例如: Seaborn颜色风格不推荐使用(使用起来不是很方便)这里不做过多的描述。 实例: ? ? Seaborn在Axes绘图实际上 seaborn 的绘图函数中也有大量的直接使用 Axes 进行绘图的,凡是函数名中已经明确了这个图的类型,这种图都是使用 Axes 绘图的。比如 sns.scatterplot,sns.lineplot,sns.barplot 等。Axes绘图可以直接使用之前 matplotlib 的一些设置图的元素。
例如绘制条形图 绘制散点图 ? Seaborn绘图关系型绘图seaborn.relplot()这个函数功能非常强大,可以用来表示多个变量之间的关联关系。默认情况下是绘制散点图,也可以绘制线型图,具体绘制什么图形是通过 kind 参数来决定的。实际上一下两个函数就是relplot的特例: 散点类型:scatterplot -> relplot(kind="scatter"); 线性类型:lineplot -> replot(kind="line"); 基本使用
hun参数?hue 参数是用来控制第三个变量的颜色显示的。比如我们在以上图的基础上体现出星期几的参数,那么可以通过以下代码来实现:
添加col和row参数?col 和 row ,可以将图根据某个属性的值的个数分割成多列或者多行。比如在以上图的基础上我们想要把 lunch 和 dinner 分割成两个图显示,则:
? 绘制折线图?relplot 通过设置 kind="line" 可以绘制折线图。并且它的功能比 plt.plot 更加强大。plot只能指定具体的 x轴和y轴的数据。而 relplot 则可以在自动在两组数据中进行计算绘图。
? 分类绘图分类图的绘制,采用的是 sns.catplot 来实现的。cat是category的简写,这个方法默认绘制的是 分类散点图,如果想要绘制其他类型的图,同样也是通过 kind 参数来指定。 主要分为 (1)分类散点图; (2)分类分布图; (3)分类统计图; 分类散点图分类散点图比较适合数据量不是很多的情况,它是用 catplot 来实现的,但是也有一下两种特别地方法: (1)stripplot():catplot(kind="strp")默认的; (2)swarmplot():catplot(kind="swarm");
?
分类分布图?分类分布图,主要是根据分类来看,然后在每个分类下的数据的分布情况。也是通过 catplot ?来实现的,以下三个方法分别是不同的 kind 的参数: (1)箱型图:boxplot()? ? ? ? (kind="box") (2)小提琴图:vioinplot()? ? ? ? (kind=”violin") ? 分类统计图分类统计图,则是根据分类,统计每个分类下的数据的个数或者比例。有以下几种方式: (1)条形图:barplot()? ? ? ? (kind="bar") (2)柱形图:countplot()? ? ? ? (kind="count") (3)点线图:pointplot()? ? ? ? (kind="point") 条形图seaborn 中的条形图具有统计功能,可以统计处比例,平均数,也可以按照你想要的统计函数来统计。
? 柱形图柱形图是专门用来统计某个单一变量出现数量的图形。
点线图点线图可以非常方便的看到变量之间的趋势变化。
? 分布绘图分布绘图主要分为单变量分布以及二变量分布和pairplot; 单变量分布单一变量主要就是通过直方图控制的,在 seaborn 种直方图的绘制采用的是 distplot,其中 dist 是 distribution的简写,不是 histogram 的简写。
参数变化
二变量分布?多变量分布图可以看出两个变量之间的分布关系。一般都是采用多个图进行表示。多变量分布图采用的函数是 jointplot。
pairplot?通常用来机器学习建立模型之前选择合适的模型。
线性回归绘图线性回归图可以帮助我们看到数据的关系趋势。在 seaborn 种可以通过 regplot 和lmplot两个函数实现。regplot 的 x 和 y 可以为 Numpy数组,Series等变量。而lmplot的x和y必须为字符串,并且 data的值不能为空: (1)regplot(x,y,data=None); (2)lmplot(x,y,data)。 补充热力图和EDA探索性分析?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:10:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |