联合分布(Joint Distribution)图是一种查看两个或两个以上变量之间两两相互关系的可视化形式,在数据分析中经常需要用到。一幅好看的联合分布图可以使得我们的数据分析更加具有可视性,让大家眼前一亮。
  那么,本文就将用seaborn来实现联合分布图的绘制。seaborn是一个基于matplotlib的Python数据可视化模块,借助于其,我们可以通过较为简单的操作,绘制出各类动人的图片。
  首先,引入需要的模块。

import pandas as pd
import seaborn as sns

  接下来,将存储有我们需要绘制联合分布图数据的文件导入。因为我是将数据存储于.csv文件,所以我这里用pd.read_csv来实现数据的导入。我的数据在.csv文件中长如下图的样子,其中共有107行,包括106行样本加1行列标题;以及10列。我们就看前几行即可:

  导入数据的代码如下:

data_path="G:/black_carbon_paper/97_BC20201230/00_Original/AllData5Factor.csv"
column_names=['FID','ID','X','Y','BC','Temp','Slope','RoDen','POI','GAIA']my_data=pd.read_csv(data_path,names=column_names,header=0)

  其中,data_path.csv文件存储位置与文件名,column_names是导入的数据在Python中我希望其显示的名字(为什么原始数据本来就有列标题但还要再设置这个column_names,本文下方有介绍);header=0表示.csv文件中的0行(也就是我们一般而言的第一行)是列标题;如果大家的初始数据没有列标题,即其中的第一行就是数据自身,那么就需要设置header=None
  执行上述代码,我们将导入的数据打印,看看在Python中其长什么样子。

print(my_data)


  可以看到,导入Python后数据的第七列,原本叫做“Slope_1”,但是设置我们自己命名的column_names后,其就将原本数据的列标题改为我们自己设定的标题“Slope”了。如果我们不设置column_names,导入的数据就是这个样子:


  可以看到,我们不用column_names的话,数据导入Python后列名就是原始的“Slope_1”。

  我们继续。其实用seaborn绘制联合分布图非常简单(这就是seabornmatplotlib改进,让我们绘制复杂的图时候不需要太麻烦),仅仅只有一下两句代码:

joint_columns=['BC','Temp','Slope','RoDen','POI','GAIA']sns.pairplot(my_data[joint_columns],kind='reg',diag_kind='kde')

  其中,第一句是定义我们想要参与绘制联合分布图的列,将需要绘图的列标题放入joint_column。可以看到,因为我的数据中,具有“ID”这种编号列,而肯定编号是不需要参与绘图的,那么我们就不将其放入joint_column即可。
  第二句就是绘图啦~kind表示联合分布图中非对角线图的类型,可选'reg''scatter''kde''hist''reg'代表在图片中加入一条拟合直线,'scatter'就是不加入这条直线,'kde'是等高线的形式,'hist'就是类似于栅格地图的形式;diag_kind表示联合分布图中对角线图的类型,可选'hist''kde''hist'代表直方图,'kde'代表直方图曲线化。
  以kinddiag_kind分别选择'reg''kde'为例,绘图结果如下:

  以kinddiag_kind分别选择'scatter''hist'为例,绘图结果如下:

  个人感觉第一幅图好看些~
  不过,由于参与绘图的变量个数比较多,因此使得图中的字体有点看不清。可以加上一句代码在sns.pairplot这句代码的上面:

sns.set(font_scale=1.2)

  其中,font_scale就是字体的大小,后面的数字越大,字体就越大。以font_scale=1.2为例,让我们看看效果:

  这样子字体就大了~

Python下多变量联合分布图(pairplot)绘制——seaborn相关推荐

  1. python绘制月亮_10分钟python图表绘制 | seaborn入门(三):Boxplot与Violinplot

    Seaborn介绍 Seaborn是一种基于matplotlib的图形可视化python libraty.它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表. Seaborn其实是在m ...

  2. Python使用matplotlib可视化多分类变量组合下分组小提琴图、使用seaborn中的catplot函数可视化多分类变量组合下分组小提琴图(Categorical Plots)

    Python使用matplotlib可视化多分类变量组合下分组小提琴图.使用seaborn中的catplot函数可视化多分类变量组合下分组小提琴图(Categorical Plots) 目录

  3. python绘图矩阵散点图_Python实践:seaborn的散点图矩阵(Pairs Plots)可视化数据

    如何快速创建强大的可视化探索性数据分析,这对于现在的商业社会来说,变得至关重要.今天我们就来,谈一谈如何使用python来进行数据的可视化! 一旦你有了一个很好的被清理过的数据集,下一步就是探索性数据 ...

  4. 数据可视化(箱线图、直方图、散点图、联合分布图)

    数据可视化 箱线图可视化 箱线图(Box plot)也称箱须图(Box-whisker Plot).箱线图.盒图,可以用来反映一组或多组连续型定量数据分布的中心位置和散布范围. 连续型数据:在一定区间 ...

  5. 用python绘制柱状图标题-Python数据可视化:5种绘制柱状图表的方法(附源码)...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于数据Magic,作者我不是小样 前言 python里面有很多优秀的可 ...

  6. Python 里最强的地图绘制神器

    今天给大家介绍一个非常 NB 的Python 库,专门用来绘制地图的,它叫 Folium . 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例 ...

  7. python气象处理第三弹-绘制气象站点分布

    python气象处理第三弹-绘制气象站点分布 python气象处理第三弹-绘制气象站点分布 python气象处理第三弹-绘制气象站点分布 前言 一.下载并转换中国气象站点数据? 二.使用步骤 1.引入 ...

  8. 经济学人风格统计分布图怎样绘制?!一行代码搞定

    公众号后台回复"图书",了解更多号主新书内容 作者:宁俊骐 来源:DataCharm 今天小编给大家推荐一种绘制另类分布图的绘制方法,其可以绘制出经济学人风格的箱线分布统计图.当然 ...

  9. python绘制柱状图设置间隔时间,Python数据可视化:5种绘制柱状图表的方法(附源码)...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于数据Magic,作者我不是小样 前言 python里面有很多优秀的可 ...

  10. python绘制饼图-Python使用Plotly绘图工具,绘制饼图

    今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图 使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数 函数中最常用的两个属性values,用于赋值给需 ...

最新文章

  1. Python:python中的可变类型和不可变类型
  2. android自定义美颜相机完整程序,Android OpenGL ES从入门到进阶(一)—— 五分钟开发一款美颜相机...
  3. Java中正则Matcher类的matches()、lookAt()和find()的差别
  4. 重写了GD32VF103的启动脚本和链接脚本
  5. JavaScript对象的深入理解 (一)
  6. 微信和QQ可以关闭广告了,每次能关6个月
  7. 序列化(写对象)与反序列化(读对象)
  8. java word转pdf 在linux转pdf乱码解决方法
  9. mindspore-ResNet101使用GPU进行训练时报错
  10. Linux安装文件报错configure: error: no acceptable C compiler found in $PATH
  11. f15_Trading Strategies2_sma_AAPL_Log return_EUR_OLS regress_df highlight_Lagrang_GaussianNB_DNNClass
  12. c语言零基础自学,c语言零基础入门 该如何学习
  13. 图神经网络的池化操作
  14. Ubuntu20.04 安装 Ipopt + cppAD流程,一键到底没有废话(复制流攻略)
  15. 简历中的项目经历怎么写?
  16. 企业如何防止激光打印机泄密?
  17. Azure IoT Hub 十分钟入门系列 (2)- 使用模拟设备发送设备到云(d2c)的消息
  18. win10恢复经典开始菜单_厌倦了默认的Win10开始菜单外观?这是自定义的方法
  19. 燕京理工学院计算机答辩难吗,燕京理工学院:一腔热血答与辩,满腹经纶方成功...
  20. National.Geographic.100.Years.国家地理百年纪念典藏

热门文章

  1. 窗口电压比较器电路设计
  2. fontawesome 助手
  3. 【灵感一剖】WPS简历助手使用反馈
  4. Windows无法启动 VMware Workstation server错误1068依赖服务或组无法启动
  5. lpop 原子_原子尺度表征神器STEM:同时获得原子分辨率晶体结构、成分和电子结构信息...
  6. c语言程序设计会出现什么问题,计算机C语言程序设计过程中的常见问题分析和研究...
  7. 大数据时代,做数据分析报告的基本流程
  8. 25年面试官首次揭秘——世界500强面试题
  9. 无线通信设备安装工程概预算编制_深圳电气安装造价培训-如何计算电气设备安装工程预算定额?...
  10. Windows 无法卸载IE9怎么办