用 Seaborn 做数据可视化(1)——绘图功能(1)可视化统计关系:sns.relplot()
目录
- 0. 介绍
- 0.1 概论
- 0.2 可视化统计关系 relplot( )
- 2.1 两个方法
- scatterplot()
- lineplot()
- 2.2 几个参数
- kind
- ci
- hue
- style
- size
- row、 col
- 1. relplot(kind='scatter' ) 散点图
- 二维散点图
- 三维散点图—— hue/style/size
- 四维散点图—— hue + style
- 2. relplot(kind='line' )线图
- 2.1 聚合和表示不确定性——参数ci
- 2.2 绘制语义映射数据子集——参数 hue, size, and style
- 2.3 绘制时间序列
- 3. 分面图(facets):展示多变量关系
- 小结
- 参数 hue、style、size
- 参数 row、col
0. 介绍
0.1 概论
统计分析是理解数据集中的变量如何互相关联以及这些关系如依赖其他变量的一个过程。而可视化则是这个过程的一个核心部分,因为只有数据被正确的可视化,人们才能看到主导关系的趋势和模式。
0.2 可视化统计关系 relplot( )
relplot( ),(即:relational plots )是绘制统计关系最常见的函数。
seaborn.relplot(x=None, y=None,hue=None, size=None, style=None, data=None, row=None, col=None, col_wrap=None, row_order=None, col_order=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=None, dashes=None, style_order=None, legend='brief', kind='scatter', height=5, aspect=1, facet_kws=None, **kwargs)
relplot() 主要使用以下两种方法:
2.1 两个方法
scatterplot()
(with kind=“scatter”; the default)
即 relplot( )默认是绘制散点图
lineplot()
(with kind=“line”)
2.2 几个参数
说明:
- 可以通过输入 hue 、style、size 三个参数来增加变量;或者改变相应颜色、样式、大小(若输入相同的变量)
- 通过 row、col 两个参数可以按照行和列展开多个子图;
kind
- kind=“scatter”(默认):绘制散点图 scatterplot()
- kind=“line” :绘制线图 lineplot()
ci
ci:通过设置参数 ci (confidence interval) 来控制阴影部分。
- 默认使用 ci;
- ci=None 取消;
- ci=“sd” 使用标准偏差而不是置信区间
hue
hue:在某一维度上, 用颜色区分(增加变量/维度/特征数量)
style
style:在某一维度上, 线的表现形式不同, 如 点线, 虚线等(增加变量/维度/特征数量)
size
size:控制数据点大小或者线条粗细(增加变量/维度/特征数量)
row、 col
显示分面图
1. relplot(kind=‘scatter’ ) 散点图
散点图(scatter plot):相关关系(两个变量)
散点图是统计可视化的中流砥柱。它使用点云来描述两个变量的联合分布。散点图的描述可以让我们直接看到大量的信息,帮我们判断出它们之间是否存在有意义的关系。
在 Seaborn 中有许多方法可以绘制散点图,但是最基本的是使用 scatterplot()。记住,当两个变量是数值型的时候,只能使用这种方式。
scatterplot() 是 relplot( ) 的默认种类,当然也可以手动设置 kind=“scatter”。
代码示例:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid")
数据导入
tips = sns.load_dataset('tips')
二维散点图
# 绘制二维散点图(两个变量)
sns.relplot(x='total_bill', y='tip', data=tips) # 发现其自带坐标轴名称
三维散点图—— hue/style/size
可以通过不同的参数传入不同的变量,从而增加了维度。
# 绘制三维散点图(使用参数 hue 增加了一个变量,用不同颜色进行区分。联想到用气泡图表示三维数据)
sns.relplot(x='total_bill', y='tip', hue='smoker', data=tips)
变量也可以是连续值
# 其中一变量是连续值的情况
sns.relplot(x="total_bill", y="tip", hue="size", data=tips);
通过不同的参数(style、zize),输入相同的变量,则可以在该变量的维度上进行相应的线条(样式、大小)改变
# 改变变量’smoker‘的样式
sns.relplot(x="total_bill", y="tip", hue="smoker", style="smoker",data=tips);
四维散点图—— hue + style
# 四变量/四维散点图
sns.relplot(x="total_bill", y="tip", hue="smoker", style="time", data=tips);
2. relplot(kind=‘line’ )线图
线图(line plot):展示连续性(单变量)
散点图非常有用,但却无法做单变量分析。
一个有效的方法是使用线图。
在 Seaborn 中可以使用 lineplot( )函数,或者直接使用 relplot( ),并设置 kind=‘line’
2.1 聚合和表示不确定性——参数ci
聚合和表示不确定性——设置参数 ci (confidence interval)
设置参数 ci (confidence interval) 来控制阴影部分
注:阴影部分是由于纵坐标上多个值导致的, 取值为均值, 阴影部分是置信区间.
# 默认使用的是围绕平均值的95%置信区间
fmri = sns.load_dataset('fmri')
sns.relplot(x='timepoint', y='signal', kind='line', data=fmri)
# 置信区间是使用自举,也可以将其禁用
sns.relplot(x="timepoint", y="signal", ci=None, kind="line", data=fmri);
# 使用标准偏差而不是置信区间
sns.relplot(x="timepoint", y="signal", kind="line", ci="sd", data=fmri);
2.2 绘制语义映射数据子集——参数 hue, size, and style
绘制语义映射数据子集——其它三个参数 hue, size, and style
sns.relplot(x="timepoint", y="signal", hue="event", kind="line", data=fmri);
sns.relplot(x="timepoint", y="signal", hue="region", style="event",kind="line", data=fmri);
2.3 绘制时间序列
线图通常用于显示与实际日期和时间相关的数据。
df = pd.DataFrame(dict(time=pd.date_range("2017-1-1", periods=500),value=np.random.randn(500).cumsum()))
g = sns.relplot(x="time", y="value", kind="line", data=df)
g.fig.autofmt_xdate()# relplot() 默认 y 是 x 的函数
3. 分面图(facets):展示多变量关系
有时候我们并不想将其它的变量也放入到同一张图中,这时我们就使用分面图去进行可视化。
这表示,我们将针对这个变量,建立多个坐标系和多张子图。(数量与变量的种类数有关)
- 使用 col
- 使用 row
tips.time0 Dinner
1 Dinner
2 Dinner
3 Dinner
4 Dinner...
239 Dinner
240 Dinner
241 Dinner
242 Dinner
243 Dinner
Name: time, Length: 244, dtype: category
Categories (2, object): [Lunch, Dinner]
这里 time 含有 [Lunch, Dinner] 两个种类
sns.relplot(x="total_bill", y="tip", hue="smoker",col="time", data=tips);
sns.relplot(x="timepoint", y="signal", hue="subject",col="region", row="event", height=3,kind="line", estimator=None, data=fmri);
col=“region” :region 有几类,就有几列图(2种 parietal 和 frontal,2列图)
row=“event” :event 有几类,就有几行图
sns.relplot(x="timepoint", y="signal", hue="event", style="event",col="subject", col_wrap=5,height=3, aspect=.75, linewidth=2.5,kind="line", data=fmri.query("region == 'frontal'"));
小结
sns.relplot( )
参数 hue、style、size
- 输入参数 x 和 y:分析x 和 y 两个变量的关系;
- 输入参数 x、y 再加上 hue、style、size 并和 x 或者 y 的变量对应,则可以改变相应的属性;
- 输入参数 x、y 再加上 hue、style、size 但传入的新的变量 z,则增加了维度,并附其相应的属性;
图示如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
tips = sns.load_dataset('tips')
①
sns.relplot(x='total_bill', y='tip',data=tips)
②
sns.relplot(x='total_bill', y='tip', hue='tip', data=tips)
# sns.relplot(x='total_bill', y='tip', hue='total_bill, data=tips) # 也可以传入 x的变量
③
sns.relplot(x='total_bill', y='tip', hue='smoker', data=tips)
参数 row、col
与上述通过不同属性的表现方式不同,这里通过参数 row 或者 col,使用多张子图的方式展现第三个变量与 x 和 y 的关系。
sns.relplot(x='total_bill', y='tip', col='smoker', data=tips)
用 Seaborn 做数据可视化(1)——绘图功能(1)可视化统计关系:sns.relplot()相关推荐
- Windows10下VB6.0开发——利用PictureBox控件实现数据点实时绘图
前言:VB中可以利用PictureBox控件实现数据点实时绘图功能. 1. 控件PictureBox 下面是PictureBox的图标: 将该控件拖到目标位置后调整它的形状大小,修改它的背景色 ...
- 【seaborn】(1) 数据可视化,绘图风格、布局
各位同学好,今天和大家分享一下如何使用 seaborn 库进行数据可视化.在 matplotlib 的基础上进一步美化绘图.主要内容有:默认风格 sns.set(), 主题风格 sns.set_sty ...
- python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)
原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...
- python与excel做数据可视化-python做可视化数据分析,究竟怎么样?
Python做可视化数据分析也是可以的,只是对比起来专业的可视化工具有些得不应手,做出来的图可能不太美观.Python用来处理数据,用来分析绝对可以.我觉得想要可视化可以使用专门的可视化工具. 不过, ...
- seaborn 教程_使用Seaborn进行数据可视化教程
seaborn 教程 "Seaborn makes the exploratory data analysis phase of your data science project beau ...
- python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)
原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...
- Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)
Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化.箱型图/散点图.小提琴图/散点图组合可视化的简介.使用方法之最强攻略(建议收藏) 目录 二.组合图可视 ...
- 利用python数据可视化_想用Python做数据可视化?先迈过这个“坎”
文丨Chris Moffitt 编译丨姜瑞琪 触脉咨询数据分析师 用过python的人都会面临一个问题,尤其是初学者:我应该选哪个来实现数据可视化? 面对众多的选项,要弄清楚什么时候使用哪个的问题没那 ...
- python导出数据顿号做分隔符_Python语言和matplotlib库做数据可视化分析
这是我的第51篇原创文章,关于数据可视化分析. 阅读完本文,你可以知道: 1 Python语言的可视化库-matplotlib? 2 使用matplotlib实现常用的可视化? 0前言 数据记者和信息 ...
- 利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化
教程演示 创建爬虫项目 编写需要爬取的字段(items.py) 编写spider文件(wuyou.py) 编写数据库连接(pipelines.py) 编写反爬措施(settings.py) Mongo ...
最新文章
- 30岁自学python找工作-程序员自学Python开发,20到30岁几乎决定了你的未来!
- 原生JS DOM操作方法汇总
- 关于VS打包程序无法弹出主界面的问题
- Python中文处理(转)
- c++经典编程题_全国青少年软件编程等级考试C语言经典程序题10道十
- R中Factor类型选取子集
- cobbler get-loaders 错误解决方法
- 如何对大数据进行数据分析
- linux修改yum本地源的方法
- 用sql语句也样创建oracle,Oracle中用sql语句创建数据库
- 《统计学》第八版贾俊平第九章分类数据分析知识点总结及课后习题答案
- android videoview截屏,android VideoView截屏黑屏解决方法
- Resolving multicopy duplications de novo using polyploid phasing 用多倍体相位法解决多拷贝复制的新问题...
- 皇家骑士团 100问
- xposed绕过模拟器检测_绝地求生刺激战场怎么避开模拟器检测?避开模拟器检测方法分享...
- excel删除重复的行_如何在Excel中删除重复的行
- ChunJun Meetup演讲分享 | 基于袋鼠云开源框架的数仓一体化建设探索
- 密码学应用(二)访问控制
- linux ip1180,canon ip1180驱动下载
- 有关网络安全方面的书籍(凯文·米特尼克作品)
热门文章
- H5+js实现别踩白块儿
- 终端上网_家里wifi上网很慢怎么办?通过这4招,让网速快到飞起来
- 穿行大街小巷 寻找“没落儿”的扬州
- 如何进行大数据处理?大数据处理的方法步骤
- 机械键盘无冲测试软件,全键无冲/六键无冲可切换 键盘测试_狼派 X09暗影机械键盘_键鼠评测-中关村在线...
- RouterOS 6.48.6 安装与配置
- python把汉字变成拼音英文_Python把汉字转换成拼音
- 猿创征文|走技术创新路,展时代宏图梦
- 126邮箱stmp服务器,免费邮箱
- 泛型,泛型的表现,泛型类,泛型方法,泛型接口,通配符,限定