seaborn绘制双变量联合分布图示例详解

 更新时间:2022年12月25日 10:08:03   作者:纯纯子  
这篇文章主要为大家介绍了seaborn绘制双变量联合分布图示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

绘制双变量联合分布图

有时我们不仅需要查看单个变量的分 布,同时也需要查看变量之间的联系, 往往还需要进行预测等。这时就需要用到双变量联合分布了。

下面我们一起来看一下连续数值型数据双变量之间的可视化方法。

在Seaborn中绘制连续数值型双变量我们使用sns.jointplot():

说明文档:https://seaborn.pydata.org/generated/seaborn.jointplot.html

 seaborn.jointplot(x, y, data=None, kind='scatter')
  • x、y:分别记录x轴和y轴的数据名称。
  • data:数据集,data的数据类型为DataFrame
  • kind:用于设置图像的类型,可选的类型有: 'scatter' | 'reg' | 'resid' | 'kde' | 'hex',分别表示散点图、回归图、残差图、 核密度图和蜂巢图。

散点图

如果我们希望看一看数据中两个变量在二维平面上之间的关系时, 则可以使用散点图,因为散点图可以帮助我们很容易地发现一些数据的分布规律。

 import numpy as np
 import seaborn as sns
 import pandas as pd
 import matplotlib.pyplot as plt
 df =pd.DataFrame({'x':np.random.normal(size=500),
                  'y':np.random.normal(size=500)})
 sns.jointplot(x='x',y='y',data=df,kind='reg')
 plt.show()

双变量散点图:

  • 根据结果我们发现, sns.jointplot()函数可以显示两个变量之间的联合关系以及每个单变量的分布
  • 我们把函数中的 kind 参数设置为'reg' 就可以做一些简单的线性模型拟合
  • 并且在坐标系的上方和右侧分别绘制了两个变量的直方图和核密度图。

蜂巢图

上面我们根据数据绘制了联合散点图,但是你会发 现两个数据并没有明确的线性关系,并且散点图有 一个问题,就是相同的点会覆盖在一起,导致我们 看不出来浓密和稀疏。 所以我们可以使用蜂巢图查看一下数据的分布情况。

蜂巢图的绘制还是使用seaborn.jointplot()函 数,只是将kind参数更该为hex即可。

 import numpy as np
 import seaborn as sns
 import pandas as pd
 import matplotlib.pyplot as plt
 df =pd.DataFrame({'x':np.random.normal(size=500),
                  'y':np.random.normal(size=500)})
 sns.jointplot(x='x',y='y',data=df,kind='hex')
 plt.show()

蜂巢图中每个六边形表示一个范围, 用颜色表示这个范围内的数据量,颜 色越白的地方数据量越小,颜色越深 的地方表示数据量越大。 当数据比较大的时候该种方式,更容易找出数据的分布情况。

密度图

在单变量分析的时候,我们绘制了单变量的概率密度曲线, 在双变量中我们也可以使用密度图来分析数据的分布情况。 密度图的绘制还是使用seaborn.jointplot()函数,只是将 kind参数更该为kde即可。

 import numpy as np
 import seaborn as sns
 import pandas as pd
 import matplotlib.pyplot as plt
 df =pd.DataFrame({'x':np.random.normal(size=500),
                  'y':np.random.normal(size=500)})
 sns.jointplot(x='x',y='y',data=df,kind='kde')
 plt.show()

根据图形可以看出,双变量密度图是使用一些封闭 但是不规则的曲线来表示, 数据密度越高的地方颜色越深,数据密度越低的地方颜色越浅。

 g = sns.jointplot(data=x_data, x=x, y=y)
 g.plot_joint(sns.kdeplot, color="r", zorder=0, levels=6)
 g.plot_marginals(sns.rugplot, color="r", height=-.15, clip_on=False)

 sns.jointplot(
     data=x_data, x=x, y=y,
     marker="+", s=100, marginal_kws=dict(bins=25, fill=False),
 )

以上就是seaborn绘制双变量联合分布图示例详解的详细内容,更多关于seaborn绘制双变量联合分布图的资料请关注脚本之家其它相关文章!

相关文章

  • Django url反向解析的实现

    Django url反向解析的实现

    本文主要介绍了Django url反向解析的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 详解Pytest测试用例的执行方法

    详解Pytest测试用例的执行方法

    大家应该都知道pytest是一个非常成熟的全功能的Python测试框架,接下来通过本文给大家分享Pytest测试用例的执行方法,感兴趣的朋友一起看看吧
    2021-05-05
  • Python 处理数据的实例详解

    Python 处理数据的实例详解

    这篇文章主要介绍了Python 处理数据的实例详解的相关资料,这里主要介绍Python 常用的基础知识并附实例,需要的朋友可以参考下
    2017-08-08
  • Python Threading 线程/互斥锁/死锁/GIL锁

    Python Threading 线程/互斥锁/死锁/GIL锁

    这篇文章主要介绍了Python Threading 线程/互斥锁/死锁/GIL锁的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python+Selenium+Webdriver实现自动执行微软奖励积分脚本

    Python+Selenium+Webdriver实现自动执行微软奖励积分脚本

    这篇文章主要为大家详细介绍了如何利用Python+Selenium+Webdriver实现自动执行微软奖励积分脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-02-02
  • Python使用ConfigParser模块操作配置文件的方法

    Python使用ConfigParser模块操作配置文件的方法

    这篇文章主要介绍了Python使用ConfigParser模块操作配置文件的方法,结合实例形式分析了Python基于ConfigParser模块针对配置文件的创建、读取、写入、判断等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • python动态网站爬虫实战(requests+xpath+demjson+redis)

    python动态网站爬虫实战(requests+xpath+demjson+redis)

    本文主要介绍了python动态网站爬虫实战(requests+xpath+demjson+redis),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 小米5s微信跳一跳小程序python源码

    小米5s微信跳一跳小程序python源码

    这篇文章主要为大家详细介绍了小米5s微信跳一跳小程序python源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • pycharm中成功运行图片的配置教程

    pycharm中成功运行图片的配置教程

    今天小编就为大家分享一篇pycharm中成功运行图片的配置教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 教你用python实现12306余票查询

    教你用python实现12306余票查询

    今天就和大家一起来讨论一下python实现12306余票查询(pycharm+python3.7),一起来感受一下python爬虫的简单实践,需要的朋友可以参考下
    2021-06-06

最新评论