草庐IT

seaborn库学习----分布图displot、histplot、kdeplot、ecdfplot

格局不能小 2023-04-09 原文
提供的api说明
displotFigure-level interface for drawing distribution plots onto a FacetGrid. 图形级界面,用于在FacetGrid上绘制分布图。
histplotPlot univariate or bivariate histograms to show distributions of datasets. 绘制单变量或双变量直方图来显示数据集的分布。
kdeplotPlot univariate or bivariate distributions using kernel density estimation. 使用核密度估计绘制单变量或双变量分布
ecdfplotPlot empirical cumulative distribution functions.绘制经验累积分布函数。
rugplotPlot marginal distributions by drawing ticks along the x and y axes. 通过在x和y轴上画刻度来绘制边缘分布。
distplotDEPRECATED: Flexibly plot a univariate distribution of observations. :灵活地绘制观测数据的单变量分布。

displot

语法

seaborn.displot(data=Node,*, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', 
rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, 
color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)

这个函数提供了几种可视化数据的单变量或双变量分布的方法,包括通过语义映射和跨多个子图分面定义的数据子集。
通过kind参数,选择不同的方法:

  • histplot()
  • kedplot()
  • edfplot()
    此外,可以将rugplot()添加到任何类型的图中以显示单个的观察结果。

参数说明

  • data是输入的数据集,数据类型可以是pandas.DataFrame对象、numpy.ndarray数组、映射或序列类型等。
  • x和y是参数data中的键或向量,指定关系图中x轴和y轴的变量。
  • hue也是data中的键或向量,根据hue变量对数据进行分组,并在图中使用不同颜色的元素加以区分。
  • hue_order指定色调语义的分类级别的处理和绘图顺序。
  • hue_norm可以是设置数据单元规范化范围的一对值,也可以是将数据单元映射到[0,1]区间的对象。 使用意味着数字映射。
  • size也是data中的键或向量,根据size变量控制图中点的大小或线条的粗细。
  • style也是data中的键或向量,根据style变量对数据进行分组,并在图中使用不同类型的元素加以区分,比如点线、虚线等。
  • kind指定要绘制的关系图类型,可选"scatter"(散点图)和"line"(线形图),默认值为"scatter"。

举例

#可以加载anaconda中sns库自己带的一些数据源 进行示例。  
penguins = sns.load_dataset("penguins")
sns.displot(data=penguins, x="flipper_length_mm")



使用kind=‘kde’参数来显示核密度估计,(kernel density estimates);

使用kind='ecdf’参数来显示经验累积分布函数(empirical cumulative distribution functions)

同时也可以在直方图中,显示核密度估计

绘制一个二元分析图,将x和y都赋值:
这幅图片里面内容不是很有意义,但是也能看得出pCO2值与year的变化与分布;
目前,二元分析图仅适用于直方图和KDEs: 当然也可以使用kdes方式来画二元分析图,可以发现数据的分布情况;
对于每种类型的图,你也可以用一个边缘的“地毯”来显示单个的观察结果: 即在坐标轴上显示每个变量的分布状况

每种图都可以使用hue参数 映射为数据的子集单独绘制:使用的数据中有空值,所以加上了warn_singular。

可以再加上一些参数,来是的画的更好看;
multiple must be one of [‘layer’, ‘stack’, ‘fill’, ‘dodge’]

使用col参数来分图画;这里使用官网的数据源;

你可以通过height 和 aspect参数来控制它的大小和形状:

设置x、y轴 的命名 和单位;设置子标题命名

关于其他函数的讲解

还有其他API:histplot,kdeplot。。。读者可以参考下面网址。
这些画图工具能画出来太多的图了,但是基本上用法大家都清楚。

https://seaborn.pydata.org/api.html#categorical-plots

有关seaborn库学习----分布图displot、histplot、kdeplot、ecdfplot的更多相关文章

  1. ruby - 分布式事务和队列,ruby,erlang,scala - 2

    我有一个涉及多台机器、消息队列和事务的问题。因此,例如用户点击网页,点击将消息发送到另一台机器,该机器将付款添加到用户的帐户。每秒可能有数千次点击。事务的所有方面都应该是容错的。我以前从未遇到过这样的事情,但一些阅读表明这是一个众所周知的问题。所以我的问题。我假设安全的方法是使用两阶段提交,但协议(protocol)是阻塞的,所以我不会获得所需的性能,我是否正确?我通常写Ruby,但似乎Redis之类的数据库和Rescue、RabbitMQ等消息队列系统对我的帮助不大——即使我实现某种两阶段提交,如果Redis崩溃,数据也会丢失,因为它本质上只是内存。所有这些让我开始关注erlang和

  2. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  3. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  6. ruby - 我如何学习 ruby​​ 的正则表达式? - 2

    如何学习ruby​​的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby​​的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/

  7. 深度学习12. CNN经典网络 VGG16 - 2

    深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG

  8. 机器学习——时间序列ARIMA模型(四):自相关函数ACF和偏自相关函数PACF用于判断ARIMA模型中p、q参数取值 - 2

    文章目录1、自相关函数ACF2、偏自相关函数PACF3、ARIMA(p,d,q)的阶数判断4、代码实现1、引入所需依赖2、数据读取与处理3、一阶差分与绘图4、ACF5、PACF1、自相关函数ACF自相关函数反映了同一序列在不同时序的取值之间的相关性。公式:ACF(k)=ρk=Cov(yt,yt−k)Var(yt)ACF(k)=\rho_{k}=\frac{Cov(y_{t},y_{t-k})}{Var(y_{t})}ACF(k)=ρk​=Var(yt​)Cov(yt​,yt−k​)​其中分子用于求协方差矩阵,分母用于计算样本方差。求出的ACF值为[-1,1]。但对于一个平稳的AR模型,求出其滞

  9. Unity Shader 学习笔记(5)Shader变体、Shader属性定义技巧、自定义材质面板 - 2

    写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c

  10. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

随机推荐