数据可视化 seaborn绘图(2)

统计关系可视化

最常用的关系可视化的函数是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表示一行展示几个图.



原文地址:https://www.cnblogs.com/sdu20112013/p/10078385.html

时间: 2024-10-28 16:19:02

数据可视化 seaborn绘图(2)的相关文章

Python图表数据可视化Seaborn:2. 分类数据可视化

1. 分类数据可视化 - 分类散点图 stripplot() / swarmplot() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("whitegrid") sns.set_context("paper") # 设置风格.尺度 import warnings

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

1. 线性关系数据可视化 lmplot() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("darkgrid") sns.set_context("paper") # 设置风格.尺度 import warnings warnings.filterwarnings

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

1.基本设置 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline sns.set_style("ticks") sns.set_context("paper") # 设置风格.尺度 import warnings warnings.filterwarnings('ignore') # 不发出警告

Python数据可视化—seaborn简介和实例

Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图.这里实例采用的数据集都是seaborn提供的几个经典数据集,dataset文件可见于Github.本博客只总结了一些,方便博主自己查询,详细介绍可以看seaborn官方API和example gallery,官方文档还是写的很好的.原文链接:https://blog.csdn.net/qq_34264472/article/details/5

Python图表分布数据可视化:Seaborn

conda  install seaborn  是安装到jupyter那个环境的 1. 整体风格设置 对图表整体颜色.比例等进行风格设置,包括颜色色板等调用系统风格进行数据可视化 set() / set_style() / axes_style() / despine() / set_context() import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns % ma

Python进阶(三十九)-数据可视化の使用matplotlib进行绘图分析数据

Python进阶(三十九)-数据可视化の使用matplotlib进行绘图分析数据 ??matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. ??它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. ??在Linux下比较著名的数据图工具还有gnuplot

Python进阶(四十)-数据可视化の使用matplotlib进行绘图

Python进阶(四十)-数据可视化の使用matplotlib进行绘图 前言 ??matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图.实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间.用户在熟悉了核心对象之后,可以轻易的定制图像.matplotlib的对象体系也是计算机图形学的一个优秀范例.即使你不是Python程序员,你也可以从文中

Python 绘图与可视化 seaborn

Seaborn是一个基于matplotlib的Python数据可视化库.它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形. 主页:http://seaborn.pydata.org/ 官方教程:http://seaborn.pydata.org/tutorial.html#tutorial 功能介绍:http://seaborn.pydata.org/introduction.html#introduction 设置样式的:https://www.cnblogs.com/gczr/p/

地铁译:Spark for python developers ---Spark处理后的数据可视化

spark for python developer 一书,说实在的,质量一般,但勉强可以作为python 工程师的入门资料,至此,这一时段的地铁译结束了,开始新的阅读旅程-- 对于 Python 的图形绘制和可视化, 有大量的工具和库,和我们最相关并且有趣的是:? ? Matplotlib 是Python 绘图库的鼻祖. Matplotlib 最初7由 John Hunter 创作, 他是开源软件的支持者,建立的 Matplotlib 是学术界和数据科学界最流行的绘图库之一. Matplotl