数据可视化 seaborn绘图(2)
统计关系可视化
最常用的关系可视化的函数是relplot
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)Figure-level interface for drawing relational plots onto a FacetGrid.
replot通过参数颜色/色调(hue),大小(size)和形状/风格(style)可以额外表达三个变量的信息.
- 散点图scatter plot
- 线图line plot
当数据类型都是numberic的时候,最常用的是scatterplot().
relplot的默认kind是‘scatter’,代表scatterplot。
import seaborn as sns
sns.set()
tips = sns.load_dataset("tips")
我们加载tips这个数据集.这是一个描述了客户用餐及小费的数据集.
下面简要的看一下这个数据集前几行.
tips = sns.load_dataset("tips")
sns.relplot(x="total_bill", y="tip", data=tips);
这时候可以看到我们绘制出了total_bill,tip两种数据的散点图.
现在我们想再在图上添加这个就餐的顾客抽不抽烟.我们可以
sns.relplot(x="total_bill", y="tip", hue="smoker", data=tips);
为了进一步增加辨识度,可以进一步改进如下:
sns.relplot(x="total_bill", y="tip",hue="smoker",style="smoker",data=tips);
此时,颜色和形状表达的都是是否为smoker这一信息.
你也可以用hue和style分别表示不同的信息.
sns.relplot(x="total_bill", y="tip", hue="smoker", style="time", data=tips);
此时,既有蓝色的圆(顾客抽烟,吃的午饭),也有黄色的圆(顾客不抽烟,吃的午饭).蓝色的×(顾客抽烟,吃的晚饭),黄色的×(顾客不抽烟,吃的晚饭).
上面的图hue=‘smoker’.smoker是一个分类变量(categorical),当hue=‘size’时,size是一个numeric变量.着色方案会更改.
sns.relplot(x="total_bill", y="tip", hue="size", data=tips);
你可以定制化自己的着色方案.
sns.relplot(x="total_bill", y="tip", hue="size", palette="ch:r=-.5,l=.75", data=tips);
size参数可以改变大小.
下面讲线图
有的数据集,你可能想探索一下连续变量的变化情况.这时候线图就派上用场了.
你可以用lineplot()或者relplot(kind='line')
df = pd.DataFrame(dict(time=np.arange(500),
value=np.random.randn(500).cumsum()))
看一下这个数据集,time是递增的time,value是浮点数.
对于x变量的相同值,更复杂的数据集将具有多个测量值。seaborn中的默认行为是通过绘制均值和围绕均值的95%置信区间来聚合每个x值上的多个测量值:
fmri = sns.load_dataset("fmri")
sns.relplot(x="timepoint", y="signal", kind="line", data=fmri);
可以通过ci参数控制是否绘制这个区间,因为大数据集下区间的绘制比较耗时.
sns.relplot(x="timepoint", y="signal", kind="line", ci="sd", data=fmri);sns.relplot(x="timepoint", y="signal", kind="line", ci=None, data=fmri);
类似于点图,也可以利用颜色,形状之类的参数来表达变量信息.
sns.relplot(x="timepoint", y="signal", hue="region", style="event",
dashes=True, markers=True, kind="line", data=fmri);
用facets表达多变量之间的关系
relplot()是基于FacetGrid的,所以很容易做到这一点.那么,你可以在多个轴上绘制数据集.
比如对tips数据集,time的值有Lunch和Dinner。之前我们是用hue/style来表示这个信息的.现在我们可以这么做:
sns.relplot(x="total_bill", y="tip", hue="smoker",
col="time", data=tips);
从更多的facet绘制数据:
sns.relplot(x="timepoint", y="signal", hue="subject",
col="region", row="event", height=3,
kind="line", estimator=None, data=fmri);
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'"));
col_wrap表示一行展示几个图.
数据可视化 seaborn绘图(2)的更多相关文章
- 数据可视化 seaborn绘图(1)
seaborn是基于matplotlib的数据可视化库.提供更高层的抽象接口.绘图效果也更好. 用seaborn探索数据分布 绘制单变量分布 绘制二变量分布 成对的数据关系可视化 绘制单变量分布 se ...
- Python数据可视化-seaborn库之countplot
在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...
- Python图表数据可视化Seaborn:2. 分类数据可视化-分类散点图|分布图(箱型图|小提琴图|LV图表)|统计图(柱状图|折线图)
1. 分类数据可视化 - 分类散点图 stripplot( ) / swarmplot( ) sns.stripplot(x="day",y="total_bill&qu ...
- Python图表数据可视化Seaborn:1. 风格| 分布数据可视化-直方图| 密度图| 散点图
conda install seaborn 是安装到jupyter那个环境的 1. 整体风格设置 对图表整体颜色.比例等进行风格设置,包括颜色色板等调用系统风格进行数据可视化 set() / se ...
- Python图表数据可视化Seaborn:3. 线性关系数据| 时间线图表| 热图
1. 线性关系数据可视化 lmplot( ) import numpy as np import pandas as pd import matplotlib.pyplot as plt import ...
- Python图表数据可视化Seaborn:4. 结构化图表可视化
1.基本设置 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ...
- Python数据可视化-seaborn
详细介绍可以看seaborn官方API和example galler. 1 set_style( ) set( ) set_style( )是用来设置主题的,Seaborn有五个预设好的主题: d ...
- 《Python数据分析》笔记——数据可视化
数据可视化 matplotlib绘图入门 为了使用matplotlib来绘制基本图像,需要调用matplotlib.pyplot子库中的plot()函数 import matplotlib.pyplo ...
- seaborn 数据可视化(一)连续型变量可视化
一.综述 Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,图像也更加美观,本文基于seaborn官方API还有自己的一些理解. 1.1.样式控制: ...
随机推荐
- OC内存管理、非ARC机制、MRR机制
在Xcode里面,默认为ARC(auto reference counting),也就是自动内存管理机制,在这里我们要了解的是内存管理,肯定是不能让系统帮我们管理内存,我们需要将ARC关闭,首先在左边 ...
- python网络爬虫开发实战(崔庆才)_14页_chromedriver环境配置和加载
自己1,环境配置,我下载了相对应的Chromedriver(其实我也不知道对不对应,都是下载最新版的我猜应该会对应),然后在任何文件夹下输入command+shift+G,打开输入窗口,任何输入 / ...
- SQL数据库约束、默认和规则
数据的完整性 实体完整性 又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值 MSSQL中通过唯一索引.PRIMARY KEY约束.UNIQUE约束.INDENTITY属性等来强制主键 ...
- Android中RecyclerView出现java.lang.IndexOutOfBoundsException
在RecyclerView更细数据时出现java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder ...
- prim最小生成树
prim和DIjkstra相似,都使用了贪心策略,加一些限制条件. prim每次会找出尽量小的那个边,将其加入到树中,最终使得生成树长大. 树中有n-1个节点时或者剩下的所有边都是INF,算法结束. ...
- [转]SDN与OpenFlow技术简介
http://blog.163.com/s_zhchluo/blog/static/15014708201411144727961/ 本文是2012年文章,对Openflow的发展.规范.应用和SDN ...
- 2018年3月24日上海MVP线下技术交流活动简报
2018年3月24日下午,几位上海MVP自发组织了一次线下的技术交流会,主要由MVP胡浩牵头,我(陈晴阳).刘鑫.朱兴亮和胡浩各自做了一次主题演讲,具体主题是: 陈晴阳:<这还是我认识的Visu ...
- VSCode插件开发全攻略(二)HelloWord
更多文章请戳VSCode插件开发全攻略系列目录导航. 写着前面 学习一门新的语言或者生态首先肯定是从HelloWord开始. 您可以直接克隆我放在GitHub上vscode-plugin-demo 的 ...
- 酷炫,用Html5/CSS实现文字阴影
前两天有一个学html5前端小美女问我一个有关文字阴影的效果怎么去实现.她和我说文字阴影嘛,她也知道text-shadow,.但是却做不出想要的样子,其实css3的新功能是很强大的,不要把你的思想太过 ...
- IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
上次写到<idea下仓库初始化与文件提交涉及到的基本命令>,今天我们继续写IDEA环境下GIT操作之二--idea下分支操作相关命令以及分支创建与合并. 1.idea 下分支操作相关命令 ...