利用Seaborn绘制20个精美的pairplot图

目录
  • 参数
  • 导入数据
  • 默认情况
  • 参数kind
  • 参数hue
  • 参数diag_kind
  • 参数palette
  • 参数markers
  • 参数height
  • 参数aspect
  • 参数corner
  • 参数vars
  • 参数-x_vars/y_vars
  • 参数-plot_kws/diag_kws
  • 参数-dropna
  • 返回值-PairGrid

大家好,我是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()

以上就是利用Seaborn绘制20个精美的pairplot图的详细内容,更多关于Seaborn绘制pairplot图的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python-Seaborn热图绘制的实现方法

    制图环境: pycharm python-3.6 Seaborn-0.8 热图 import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set() np.random.seed(0) uniform_data = np.random.rand(10, 12) ax = sns.heatmap(uniform_data) plt.show() # 改变颜色映射的值范围 ax = sns.heatmap

  • Python可视化学习之seaborn绘制矩阵图详解

    目录 本文内容速览 1.绘图数据准备 2.seaborn.pairplot 加上分类变量 修改调色盘 x,y轴方向选取相同子集 x,y轴方向选取不同子集 非对角线散点图加趋势线 对角线上的四个图绘制方式 只显示网格下三角图形 图形外观设置 3.seaborn.PairGrid(更灵活的绘制矩阵图) 每个子图绘制同类型的图 对角线和非对角线分别绘制不同类型图 对角线上方.对角线.对角线下方分别绘制不同类型图 其它一些参数修改 本文内容速览 1.绘图数据准备 还是使用鸢尾花iris数据集 #导入本帖

  • python数据可视化Seaborn画热力图

    目录 1.引言 2. 栗子 3. 数据预处理 4. 画热力图 5. 添加数值 6. 调色板优化 1.引言 热力图的想法很简单,用颜色替换数字. 现在,这种可视化风格已经从最初的颜色编码表格走了很长一段路.热力图被广泛用于地理空间数据.这种图通常用于描述变量的密度或强度,模式可视化.方差甚至异常可视化等. 鉴于热力图有如此多的应用,本文将介绍如何使用Seaborn 来创建热力图. 2. 栗子 首先我们导入Pandas和Numpy库,这两个库可以帮助我们进行数据预处理. import pandas

  • python数据可视化Seaborn绘制山脊图

    目录 1. 引言 2. 举个栗子 3.山脊图 4.扩展 5.结论 1. 引言 山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴. 山脊图经常以一种相对不常见且非常适合吸引大家注意力的紧凑图的形式表现.观察上图,我们给其起名叫Ridge plot是非常恰当的,因为上述图表看起来确实很像山的脊背.此外,上述图像还有另一个称呼叫做Joy Plots–这主要是因为Joy Division乐队在如下专辑封面上采用了这种可视化形式. 2. 举个栗子 在介绍完山脊图

  • 用python的seaborn画数值箱型图

    目录 一.概念介绍 二.数据展示 三.数据导入 四.画图 总结 一.概念介绍 箱型图(box-plot),又称为箱线图,盒型图,盒须图.在数据探索阶段或者描述性分析过程中,我们常常用于展示多类连续型数据的数值分布情况,便于类间对比和快速识别异常值. 在一幅箱型图中,一个连续数值序列构成一个盒子,如下所示. 每一个盒子主要展示的是数据的上四分位数Q1(25%),中位数(50%),下四分位数Q3(75%).划分异常值的界限我们称为上下极限,其离Q1,Q3分别是1.5IQR(IQR=Q3-Q1,称作四

  • Python编程matplotlib绘图挑钻石seaborn小提琴和箱线图

    目录 箱线图 小提琴图 想不到大家都这么喜欢用python给女朋友挑钻石,所以我又写了个续. 如果看过之前一篇用python给女朋友挑钻石的文章,那么可以直接从箱线图开始读. seaborn是matplotlib的补充包,提供了一系列高颜值的figure,并且集成了多种在线数据集,通过sns.load_dataset()进行调用,可供学习,如果网络不稳定,可下载到本地,然后在调用的时候使用把cache设为True. 其中,diamonds数据集中包含了钻石数据,总计十项,分别是[重量/克拉]ca

  • 利用Seaborn绘制20个精美的pairplot图

    目录 参数 导入数据 默认情况 参数kind 参数hue 参数diag_kind 参数palette 参数markers 参数height 参数aspect 参数corner 参数vars 参数-x_vars/y_vars 参数-plot_kws/diag_kws 参数-dropna 返回值-PairGrid 大家好,我是Peter~ 本文记录的使用seaborn绘制pairplot图,主要是用来显示两两变量之间的关系(线性或非线性,有无较为明显的相关关系等),官网学习地址: https://s

  • Python利用Seaborn绘制多标签的混淆矩阵

    Seaborn - 绘制多标签的混淆矩阵.召回.精准.F1 导入seaborn\matplotlib\scipy\sklearn等包: import seaborn as sns from matplotlib import pyplot as plt from scipy.special import softmax from sklearn.metrics import accuracy_score, confusion_matrix, precision_score, recall_sco

  • Flutter利用Canvas绘制精美表盘效果详解

    目录 前言 初始化 面板 刻度 刻度线 刻度值 指针 时针 分针 秒针 动起来 前言 趁着周末空闲时间使用 Flutter 的 Canvas制作了一个精美表盘. 最终实现的效果还不错,如下: 前面说到使用 Canvas 实现该表盘效果,而在 Flutter 中使用 Canvas 更多的则是继承 CustomPainter 类实现 paint 方法,然后在 CustomPaint 中使用自定义实现的 CustomPainter. 比如这里创建的 DialPainter 使用如下: @overrid

  • 利用iOS绘制图片生成随机验证码示例代码

    先来看看效果图 实现方法 .h文件 @property (nonatomic, retain) NSArray *changeArray; @property (nonatomic, retain) NSMutableString *changeString; @property (nonatomic, retain) UILabel *codeLabel; -(void)changeCode; @end .m文件 @synthesize changeArray = _changeArray;

  • PyQt5利用QPainter绘制各种图形的实例

    这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握了很多新的知识点 [知识点] 1.关于多个点的使用 poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 请看: # 定义多个点 points = [QPoint(10, 80), QPoint(20, 1

  • Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能实例

    本文实例讲述了Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能的方法.分享给大家供大家参考,具体如下: 1.布局界面 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare

  • 利用Python绘制有趣的万圣节南瓜怪效果

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints' Day). 为庆祝万圣节的来临,小孩会装扮成各种可爱的鬼怪向逐家逐户地敲门,要求获得糖果,否则就会捣蛋.而同时传说这一晚,各种鬼怪也会装扮成小孩混入群众之中一起庆祝万圣节的来临,而人类为了让鬼怪更融洽才装扮成各种鬼怪. 不知从何时开始,西方的节日一个个的走进了天朝,情人节.圣诞节.感恩节.万圣节

  • Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 二.matplotlib图像简介 matplotlib的图像分为三层,容器层.辅助显示层和图像层. 1. 容器层主要由Canvas.Figure.Axes组成. Canvas位

  • Python利用matplotlib绘制散点图的新手教程

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一.matplotlib绘制散点图 # coding=utf-8 import matplotlib.pyplot as plt years = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019] turnovers =

  • 利用Matlab绘制各类特殊图形的实例代码

    Matlab绘图介绍 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作.这类操作将图形的每个图形元素(如坐标轴.曲线.文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分. Matlab绘制特殊图形 1. 绘制极坐标图 说明:使用polarplot函数绘制极

随机推荐