统计关系可视化

最常用的关系可视化的函数是relplot

seaborn.relplot(x=Noney=Nonehue=Nonesize=Nonestyle=Nonedata=Nonerow=Nonecol=Nonecol_wrap=Nonerow_order=Nonecol_order=Nonepalette=Nonehue_order=Nonehue_norm=Nonesizes=Nonesize_order=Nonesize_norm=Nonemarkers=Nonedashes=Nonestyle_order=Nonelegend='brief'kind='scatter'height=5aspect=1facet_kws=None**kwargs)

Figure-level interface for drawing relational plots onto a FacetGrid.

详细的api解释在此

replot通过参数颜色/色调(hue),大小(size)和形状/风格(style)可以额外表达三个变量的信息.

  1. 散点图scatter plot
  2. 线图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)的更多相关文章

  1. 数据可视化 seaborn绘图(1)

    seaborn是基于matplotlib的数据可视化库.提供更高层的抽象接口.绘图效果也更好. 用seaborn探索数据分布 绘制单变量分布 绘制二变量分布 成对的数据关系可视化 绘制单变量分布 se ...

  2. Python数据可视化-seaborn库之countplot

    在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...

  3. Python图表数据可视化Seaborn:2. 分类数据可视化-分类散点图|分布图(箱型图|小提琴图|LV图表)|统计图(柱状图|折线图)

    1. 分类数据可视化 - 分类散点图 stripplot( ) / swarmplot( ) sns.stripplot(x="day",y="total_bill&qu ...

  4. Python图表数据可视化Seaborn:1. 风格| 分布数据可视化-直方图| 密度图| 散点图

    conda  install seaborn  是安装到jupyter那个环境的 1. 整体风格设置 对图表整体颜色.比例等进行风格设置,包括颜色色板等调用系统风格进行数据可视化 set() / se ...

  5. Python图表数据可视化Seaborn:3. 线性关系数据| 时间线图表| 热图

    1. 线性关系数据可视化 lmplot( ) import numpy as np import pandas as pd import matplotlib.pyplot as plt import ...

  6. Python图表数据可视化Seaborn:4. 结构化图表可视化

    1.基本设置 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ...

  7. Python数据可视化-seaborn

    详细介绍可以看seaborn官方API和example galler. 1  set_style( )  set( ) set_style( )是用来设置主题的,Seaborn有五个预设好的主题: d ...

  8. 《Python数据分析》笔记——数据可视化

    数据可视化 matplotlib绘图入门 为了使用matplotlib来绘制基本图像,需要调用matplotlib.pyplot子库中的plot()函数 import matplotlib.pyplo ...

  9. seaborn 数据可视化(一)连续型变量可视化

    一.综述 Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,图像也更加美观,本文基于seaborn官方API还有自己的一些理解.   1.1.样式控制: ...

随机推荐

  1. 理解特性attribute 和 属性property的区别 及相关DOM操作总结

    查一下英语单词解释,两个都可以表示属性.但attribute倾向于解释为特质,而property倾向于解释私有的.这个property的私有解释可以更方便我们下面的理解. 第一部分:区别点 第一点:  ...

  2. ADO.NET学习笔记(1)

    ADO.Net是.Net框架中为数据库的访问而封装的一个库.通过这个库我们可以简单便捷的访问数据库,并对数据库进行一些增删改查的操作,目前ADO.Net支持四种主流的数据库,分别是SQL.OLE DB ...

  3. 处理Word文档中所有修订

    打开现有文档进行编辑 若要打开现有文档,您可以将 Word类实例化,如以下 using 语句所示. 为此,您可以使用Open(String, Boolean) 方法打开具有指定 fileName 的字 ...

  4. ecshop自动确认收货(无其他商家)

    1.创建文件 includes/modules/auto_order_confirm.php 代码:(思路:对已经发货和已经付款的订单检索,对比发货时间与当前时间的间隔,达到设定时间则自动收货) &l ...

  5. spring 框架学习网站

    spring 框架学习网站 NO1 http://www.mkyong.com NO2 https://spring.io/docs/reference

  6. iproute2学习笔记

    一.替代arp, ifconfig, route等命令 显示网卡和IP地址 root@openstack:~# ip link list 1: lo: <LOOPBACK,UP,LOWER_UP ...

  7. 修复运行 tasklist 命令时提示 ERROR: Not found

    最近碰到了一个脚本运行 tasklist 总是提示 ERROR: Not found,在这里找到了修复的方法 https://superuser.com/questions/1282867/windo ...

  8. 14.不同条目的listview

    分类界面 整个项目的逻辑就是这样的 CategoryInfo  public class CategoryInfo { private String title; private String url ...

  9. Web前端JQuery入门实战案例

    前端jquery入门到实战 为什么要学习Jquery?因为生活. 案例: <!DOCTYPE html> <html lang="zh-CN"> <h ...

  10. Ansible工具原理一

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命 ...