利用Seaborn绘制20个精美的pairplot图
作者:尤而小屋 发布时间:2023-08-15 20:09:15
大家好,我是Peter~
本文记录的使用seaborn绘制pairplot图,主要是用来显示两两变量之间的关系(线性或非线性,有无较为明显的相关关系等),官网学习地址:
https://seaborn.pydata.org/generated/seaborn.pairplot.html
参数
主要参数为:
seaborn.pairplot(data, # 绘图数据
hue=None, # 针对某一字段进行颜色分类
hue_order=None, # 指定分组顺序
palette=None, # 控制色调
vars=None, # 变量
x_vars=None,
y_vars=None,
kind='scatter', # scatter', ‘kde', ‘hist', ‘reg'
diag_kind='auto', # ‘auto', ‘hist', ‘kde', None
markers=None, # 控制散点的样式 “+” “s” "D"
height=2.5, # 高度
aspect=1, # 宽度
corner=False, # 对角线是否显示
dropna=False, # 是否去掉控制
plot_kws=None, # 控制非对角线图例样式
diag_kws=None, # 控制对角线图例样式
grid_kws=None, # 网格设置
size=None) # 默认 6,图的尺度大小(正方形)
导入数据
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
sns.set_style('darkgrid',{'font.sans-serif':['simhei','Arial']})
导入seaborn中默认的数据集:
默认情况
In [3]:
sns.pairplot(df)
plt.show()
参数kind
空值非对角线上图形的类型,选择为
In [4]:
sns.pairplot(df, kind="kde")
plt.show()
sns.pairplot(df, kind="hist")
plt.show()
sns.pairplot(df, kind="reg") # 使用回归
plt.show()
参数hue
主要是用来进行分类
In [7]:
sns.pairplot(df, hue="species")
plt.show()
sns.pairplot(df, hue="sex")
plt.show()
参数diag_kind
控制对角线上的图的类型,可选"hist"与"kde"
In [9]:
sns.pairplot(df, hue="species", diag_kind="hist")
plt.show()
参数palette
主要是用来控制色调,下面是收集到的色系:
Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, crest, crest_r, cubehelix, cubehelix_r, flag, flag_r, flare, flare_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r, hsv, hsv_r, icefire, icefire_r, inferno, inferno_r, jet, jet_r, magma, magma_r, mako, mako_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, rocket, rocket_r, seismic, seismic_r, spring, spring_r, summer, summer_r, tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, twilight, twilight_r, twilight_shifted, twilight_shifted_r, viridis, viridis_r, vlag, vlag_r, winter, winter_r
In [10]:
sns.pairplot(df,hue="species",palette="husl")
plt.show()
参数markers
In [13]:
sns.pairplot(df, hue="species", diag_kind="hist", markers=["o", "s", "D"])
plt.show()
参数height
控制整个图形的大小
In [14]:
sns.pairplot(df, height=1.5)
plt.show()
sns.pairplot(df, height=4)
plt.show()
参数aspect
用来控制图形的宽度,默认是1,显示效果为:
sns.pairplot(df, hue="species", aspect=3)
plt.show()
参数corner
只展示一半的图形,整体的图形是关于主对角线对称的
In [16]:
sns.pairplot(df, corner=True)
plt.show()
参数vars
控制需要显示的变量
In [17]:
df.columns
Out[17]:
Index(['species', 'island', 'bill_length_mm', 'bill_depth_mm',
'flipper_length_mm', 'body_mass_g', 'sex'],
dtype='object')
In [18]:
sns.pairplot(df,vars=["island","bill_length_mm","sex"])
plt.show()
参数-x_vars/y_vars
必须同时指定
In [19]:
sns.pairplot(
df,
x_vars=["bill_length_mm", "bill_depth_mm", "flipper_length_mm"],
y_vars=["bill_length_mm", "bill_depth_mm"],
)
plt.show()
参数-plot_kws/diag_kws
plot_kws:用于控制非对角线上的图的样式
diag_kws:用于控制对角线上图的样式
In [20]:
sns.pairplot(
df,
plot_kws=dict(marker="+", edgecolor="b",linewidth=1),
diag_kws=dict(fill=False),
)
plt.show()
sns.pairplot(df,
diag_kind="kde",
markers="+",
plot_kws=dict(s=50, edgecolor="b", linewidth=1),
diag_kws=dict(shade=True)
)
plt.show()
参数-dropna
缺失值的处理,默认是
In [22]:
sns.pairplot(df, dropna=True)
plt.show()
返回值-PairGrid
关于返回值的自定义内容请参考官网:
https://seaborn.pydata.org/generated/seaborn.PairGrid.html#seaborn.PairGrid
In [24]:
g = sns.pairplot(df, diag_kind="kde")
g.map_lower(sns.kdeplot, levels=6, color=".4")
plt.show()
来源:https://mp.weixin.qq.com/s/5SLIfXtOBb3yTTDqL-yXLQ


猜你喜欢
- Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了
- 前言turtle库是Python语言中一个很流行的绘制图像的函数库,可以轻松地绘制出精美的形状和图案,很适合用来引导孩子学习编程。turtl
- 本文主要给大家介绍了关于Golang中switch和select用法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:一、swi
- parquet数据:列式存储结构,由Twitter和Cloudera合作开发,相比于行式存储,其特点是:可以跳过不符合条件的数据,只读取需要
- 本文实例讲述了常规方法实现python数组的全排列操作。分享给大家供大家参考。具体分析如下:全排列解释:从n个不同元素中任取m(m≤n)个元
- 我们在网页中使用CSS来设置网页、表格和字体大小,一般使用的是网络上较流行的9磅字:<STYLE type=TEXT/CSS
- 用python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExc
- var obj = document.getElementByIdx_x(”testSelect”); //定位idvar index =
- 本案例使用 Jupyter Notebook进行案例演示,数据集为NBA球员信息数据集。本项目将进行完整的数据分析演示。1. 数据介绍数据集
- 摘要:主要是讲解一些数据挖掘中频繁模式挖掘的Apriori算法原理应用实践当我们买东西的时候,我们会发现物品展示方式是不同,购物以后优惠券以
- 【内容】: 最近python挺火,空闲时间看了几个python视频,觉得简单易懂,开发效
- 在制作网页以及编程的时候,适当的进行注释,不仅使自己的思路清晰,极大地减轻了维护的难度,而且方便项目组其他人了解你的代码,方便对代码的理解以
- 统计在线人数是实时的吗?实现起来也比较简单,见下列代码:global.asa<SCRIPT LANGUAGE="V
- 试了一下,xmlDoc.save()行不同,就试着用fso做了出来。整理一下,供大家discuss。由于用js操作本地xml文件之后save
- 背景又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的
- 本文实例讲述了Python实现列表删除重复元素的三种常用方法。分享给大家供大家参考,具体如下:给定一个列表,要求删除列表中重复元素。list
- mssql的每个varchar、text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插
- 一般情况下,用Mybatis的时候是先设计表结构再进行实体类以及映射文件编写的,特别是用代码生成器的时候。但有时候不想用代码生成器,也不想定
- 简介MySQL通过复制(Replication)实现存储系统的高可用。目前,MySQL支持的复制方式有:异步复制(Asynchronous
- 发现问题今天在使用ImageTk.photoImage()显示图片时,当把包含该函数放在自定义函数里时,不能正常显示,移到函数为又可正常显示