python seaborn教程_Seaborn绘图简明教程
Seaborn 是 Python 的数据可视化工具之一,它其实是在 Matplotlib 的基础上进行了更高级的 API 封装。Seaborn 可视为 Matplotlib 的补充,而不是替代,使用 Seaborn 可以更轻松地画出更漂亮的图形。
Seaborn 的特点如下:
内置数个经过优化的样式效果;
增加调色板工具,可以很方便地为数据搭配颜色;
单变量和双变量分布绘图更为简单,可用于对数据子集相互比较;
对独立变量和相关变量进行回归拟合和可视化更加便捷;
对数据矩阵进行可视化,并使用聚类算法进行分析;
基于时间序列的绘制和统计功能,具有更加灵活的不确定度估计。
基于网格绘制出更加复杂的图像集合。
除此之外,Seaborn 对 Matplotlib 和 pandas 的数据结构高度兼容,非常适合作为数据挖掘过程中的可视化工具。
Seaborn 安装
Seaborn 依赖于 Matplotlib、NumPy、SciPy 和 pandas,与这些库一样是需要单独安装的。下面介绍用 pip 安装 Seaborn 的方法。
1) 按【Windows】+【R】键,进入 cmd 命令窗口。
2) 在 cmd 命令窗口中输入“pip install seaborn”命令,按【Enter】键,进入 Seaborn 模块安装界面,如图 1 所示。
图 1:安装 seaborn 软件包
3) 安装成功就会提示“Successfully installed seaborn-0.9.0”。
Seaborn 绘图函数
Seaborn 共有 50 多个 API 类,相比于 Matplotlib 数千个的规模,可谓极为精简。下面介绍 Seaborn 常用的绘图函数。
1) set() 函数
set() 是样式设置语句,它可对原图样式进行快速优化,如使用 set() 可以设置默认样式。其语法格式如下:
seaborn.set(context='notebook', style='darkgrid', palette='deep',
font='sans-serif', font_scale=1, color_codes=False, rc=None)
参数说明如下。
context:该参数控制着默认的画幅大小,取值范围为 {paper, notebook, talk, poster}。其中,poster>talk>notebook>paper。
style:该参数控制默认样式,取值范围为 {darkgrid, whitegrid, dark, white, ticks}。
palette:该参数为预设的调色板。取值范围为 {deep, muted, bright, pastel, dark, colorblind}。
font:用于设置字体。
font_scale:用于设置字体大小。
color_codes:表示不使用调色板而采用先前的 'r' 等色彩缩写。
注意:set() 样式设置语句需要放置在 Matplotlib 原本的绘图语句前面。
2) displot() 函数
displot() 集合了 hist() 直方图与核函数估计 kdeplot 的功能,其语法格式如下:
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)
参数说明如下:
a:表示数据来源,接收Series、一维数组、list;
bins:表示矩形图数量;
hist:表示是否显示直方图;
kde:表示是否显示核函数估计图;
rug:用于控制是否显示观察的小细毛(边际毛毯);
fit:用于控制拟合的参数分布图形;
vertical:表示显示正交控制。
示例代码 example1.py 如下。
# -*- coding: utf-8 -*-
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
x = np.random.normal(size=200)
sns.distplot(x)
plt.show()
3) barplot() 函数
barplot() 用于描述某种变量分布的平均值,其语法格式如下:
seaborn.barplot(x=None,y=None,hue=None,data=None,order=None,hue_order=None,
ci=95, n_boot=1000, units=None, orient=None, color=None, palette=None,
saturation=0.75, errcolor='.26', errwidth=None, capsize=None, ax=None,
estimator=,**kwargs)
参数说明如下:
x、y、hue:设置 x、y 以及颜色控制的变量;
data:表示输入的数据集;
order、hue_order:表示控制变量绘图的顺序;
estimator:设置每类变量的计算函数,默认为平均值,可以修改为 max、median、min 等;
ax:用于设置子图位置;
orient:用于控制绘图的方向,取值 {v,h},分别表示绘图为水平或者竖直方向;
capsize:表示设置误差棒帽条的宽度。
示例代码 example2.py 如下。
# -*- coding: utf-8 -*-
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='whitegrid')
tips = sns.load_dataset("tips") #载入自带数据集
ax = sns.barplot(x="day", y="total_bill", hue="sex", data=tips)
plt.show()
4) countplot() 函数
countplot() 函数用来计数,其语法格式如下:
seaborn.countplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, orient=None, color=None, palette=None, saturation=0.75,
ax=None, **kwargs)
参数说明如下:
x、y、hue:设置 x、y 以及颜色控制的变量;
data:表示输入的数据集;
order、hue_order:用于控制变量绘图的顺序;
orient:用于控制绘图的方向,取值 {v,h},分别表示绘图为水平或者竖直方向;
color:表示颜色;
palette:表示调色板颜色;
ax:用于设置子图位置。
示例代码 example3.py 如下。
# -*- coding: utf-8 -*-
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='whitegrid')
titanic = sns.load_dataset("titanic") #载入自带数据集
print(titanic)
sns.countplot(x="alone", hue="who", data=titanic)
plt.show()
5) boxplot() 函数
boxplot() 函数可以表示数据的位置和分散情况,还能区分异常点。用该函数可绘制箱式图,其语法格式如下:
seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order
=None, orient=None, color=None, palette=None, saturation=0.75, width=0.
fliersize=5, linewidth=None, whis=1.5, notch=False, ax=None, **kwargs)
函数中大部分参数与 countplot() 函数参数相同,少数不同参数采用默认值。
示例代码 example4.py 如下。
# -*- coding: utf-8 -*-
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='whitegrid')
tips = sns.load_dataset("tips") #载入自带数据集
sns.boxplot(x="day", y="total_bill", hue="smoker",data=tips)
plt.show()
6) lmplot() 函数
lmplot() 函数是一种集合基础绘图与基于数据建立回归模型的绘图方法。旨在创建一个方便拟合数据集回归模型的绘图方法,利用 'hue'、'col'、'row' 参数来控制绘图变量。其语法格式如下:
seaborn.lmplot(x,y,data,hue=None,col=None,row=None,palette=None,col_wrap
=None,size=5,aspect=1,markers='o',sharex=True,sharey=True,hue_order=None,
col_order=None,row_order=None,legend=True,legend_out=True,x_estimator
=None,x_bins=None,x_ci='ci',scatter=True,fit_reg=True,ci=95,n_boot=1000,
units=None,order=1,logistic=False,lowess=False,robust=False,logx=False,
x_partial=None,y_partial=None,truncate=False,x_jitter=None,y_jitter=None,
scatter_kws=None,line_kws=None)
参数说明如下:
x,y:接收 string,表示横纵坐标的列名;
data:表示输入的数据集;
hue,col,row:接收 string,定义数据子集的变量,并在不同的图像子集中绘制;
palette:表示调色板颜色;
size:接收 scalar(标量),定义子图的高度,为可选项;
markers:可选项,定义散点的图标;
col_wrap:接收 int,可选项,设置每行子图数量;
order:接收 int,可选项,表示多项式回归,设定为指数;
logistic:接收 bool,可选项,表示逻辑回归;
logx:接收 bool,可选项,转化为 log(x);
以Seaborn内置的tips小费数据集为例,该数据集的部分数据如下。
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
运用 lmplot() 方法研究小费 tips 与总消费金额 total_bill 在吸烟与不吸烟人之间的关系。其示例代码 example5.py 如下。
# -*- coding: utf-8 -*-
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style='whitegrid')
tips = sns.load_dataset("tips") #载入自带数据集
print(tips)
#研究小费tips与总消费金额total_bill在吸烟与不吸烟人之间的关系
g = sns.lmplot(x="total_bill", y="tip", row="smoker",data=tips)
plt.show()
运行输出结果如图 2 所示。
图 2:example5.py 运行输出结果
7) pairplot() 函数
pairplot() 函数可绘制多变量图,使用 pairplot() 函数可以绘制 x 的每一维度与对应 y 的散点图。通过设置 size 和 aspect 参数可调节显示的大小和比例,其语法格式如下:
seaborn.pairplot(data, hue=None, hue_order=None, palette=None, vars=None,
x_vars=None, y_vars=None, kind=’scatter’, diag_kind=’hist’,markers=None,
size=2.5, aspect=1, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None)
基本参数说明如下:
data:表示输入的数据集;
hue:接收 string,使用指定变量为分类变量画图;
hue_order:用字符串列表,调整调色板中 hue 变量的级别;
palette:表示调色板颜色;
size:接收 numeric,表示图的尺度大小(正方形),默认为 6;
markers:可选项,使用不同的形状表示散点的图标。
示例代码 example6.py 如下。
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import datasets
#绘制多变量图
iris = sns.load_dataset("iris")
sns.pairplot(iris)
plt.show()
python seaborn教程_Seaborn绘图简明教程相关推荐
- C语言简明教程,C语言简明教程
C语言是一种结构化的计算机程序设计语言,具有使用灵活.表达能力强,兼具高级语言和低级语言双重功能等特点,是各大院校计算机程序设计入门课程的*语言之一.本书以应用性为中心,以培养程序设计思想和程序设计能 ...
- cmakelist官方教程_CMakeLists编辑简明教程
备注:明确说明简明教程,背景就是新建一个工程文件夹且称之为test里面include文件夹放所有头文件,src放所有源文件,CMakeLists.txt直接放在test文件夹下,不引入任何其他库,例如 ...
- python画图程序实验报告_Python绘图简明教程
前言 本文纯科普向. 主要介绍一下Python上最好用的2D图形绘制库matplotlib的安装以及一些基础操作. 选择Python是因为其强大的第三方库和优秀便捷的语法,并且能方便地对数据进行后续处 ...
- python继承和多态_Python 简明教程 --- 21,Python 继承与多态
程序不是年轻的专利,但是,它属于年轻. 目录 我们已经知道封装,继承和多态 是面向对象的三大特征,面向对象语言都会提供这些机制. 1,封装 在这一节介绍类的私有属性和方法的时候,我们已经讲到过封装. ...
- Python中的多进程并行简明教程
1. 什么是多进程并行 一般来说,多进程意味着并行运行两个或者多个任务.在Python中我们可以使用python内置的multiprocessing模块来实现这一功能. 我们来举个栗子,假设我们需要运 ...
- Python中的Assert语句简明教程
1. 引言 如果你是一个Python新手,那么你可能会在一些代码中看到assert关键字的语句.对于该语句,有人喜欢有人不喜欢,本文重点介绍Assert语句的作用以及什么时候应该使用该语句. 闲话少说 ...
- python svr回归_SVR回归分析简明教程
关于使用SVM进行回归分析的介绍很少,在这里,我们讨论一下SVR的理论知识,并对该方法有一个简明的理解. SVR简单介绍 SVR全称是support vector regression,是SVM(支持 ...
- JSP入门教程:JSP简明教程
一. 什么是JSP JSP(JavaServer Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种 动态 网页技术标准,其网址为http://www.javasof ...
- EaselJS简明教程2-动画
系列教程目录 EaselJS简明教程1-绘图 EaselJS简明教程2-动画 EaselJS简明教程2动画,动画是将静止的画面变为动态的艺术,由静止到动态的实现,主要依靠人眼的视觉残留效应. 动画可以 ...
最新文章
- 电话连线(最小生成树)
- Python数据结构与算法(第三天)
- [java设计模式简记] 观察者模式(Observer-Pattern)
- 2021广东高考成绩排名如何查询,2021年广东高考个人排名怎么查询,广东高考成绩排名查询方法...
- webform中提交按钮同时执行更新和插入操作_软件测试中的功能测试点(三)
- Redis简单命令(部分示例代码)
- js顺序加载与并行加载
- 3D控件Aspose.3D 18年新版V18.1发布 | 附下载
- 计算机二级 office 英语,计算机二级office题库及答案
- Android 蓝牙 BLE扫描、广播、连接、数据收发源码分析(2)- inquiry扫描周围设备
- 将H.264封装为FLV格式
- [计算机通信网络]Packet tracer中laptop连接无线路由器
- HTML中的 meta 标签
- python pdb调试多进程_PDB远程调试Python多进程子程序
- 计算机一打开就卡在更新失败,做系统一直在正在启动画面-电脑开机后卡在“正在启动windows”界面,怎么办?...
- 从MUD到MMO——虚拟世界发展简史以及未来可能性的杂谈
- Sqoop实践——原始数据库到大数据时代必备神器
- 机器与人类的结合:外骨骼机器人的现状和趋势
- java验证iap支付收据
- Python shuffle() 函数---元素随机排序