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

作者:尤而小屋 时间:2023-08-15 20:09:15 

大家好,我是Peter~

本文记录的使用seaborn绘制pairplot图,主要是用来显示两两变量之间的关系(线性或非线性,有无较为明显的相关关系等),官网学习地址:

https://seaborn.pydata.org/generated/seaborn.pairplot.html

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

参数

主要参数为:

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中默认的数据集:

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

默认情况

In [3]:

sns.pairplot(df)

plt.show()

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

参数kind

空值非对角线上图形的类型,选择为

In [4]:

sns.pairplot(df, kind="kde")

plt.show()

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

sns.pairplot(df, kind="hist")

plt.show()

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

sns.pairplot(df, kind="reg")  # 使用回归

plt.show()

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

参数hue

主要是用来进行分类

In [7]:

sns.pairplot(df, hue="species")

plt.show()

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

sns.pairplot(df, hue="sex")
plt.show()

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

参数diag_kind

控制对角线上的图的类型,可选"hist"与"kde"

In [9]:

sns.pairplot(df, hue="species", diag_kind="hist")

plt.show()

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

参数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()

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

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

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

参数markers

In [13]:

sns.pairplot(df, hue="species", diag_kind="hist", markers=["o", "s", "D"])

plt.show()

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

参数height

控制整个图形的大小

In [14]:

sns.pairplot(df, height=1.5)

plt.show()

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

sns.pairplot(df, height=4)

plt.show()

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

参数aspect

用来控制图形的宽度,默认是1,显示效果为:

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

sns.pairplot(df, hue="species", aspect=3)

plt.show()

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

参数corner

只展示一半的图形,整体的图形是关于主对角线对称的

In [16]:

sns.pairplot(df, corner=True)

plt.show()

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

参数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()

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

参数-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()

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

参数-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()

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

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()

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

返回值-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图

来源:https://mp.weixin.qq.com/s/5SLIfXtOBb3yTTDqL-yXLQ

标签:Seaborn,pairplot图
0
投稿

猜你喜欢

  • 破解安装Pycharm的方法

    2021-08-17 17:54:12
  • Python之根据输入参数计算结果案例讲解

    2022-08-27 07:44:50
  • 关于keras多任务多loss回传的思考

    2023-09-16 18:58:47
  • hadoop二次排序的原理和实现方法

    2023-01-16 22:42:31
  • 简单的自定义php模板引擎

    2023-11-24 02:44:24
  • Python中replace方法实例分析

    2023-09-30 05:42:53
  • 解决sublime+python3无法输出中文的问题

    2023-09-20 16:26:20
  • python中使用print输出中文的方法

    2023-06-10 16:49:40
  • Laravel中数据库迁移操作的示例详解

    2023-05-25 06:27:38
  • python爬虫入门教程之点点美女图片爬虫代码分享

    2021-01-14 21:45:07
  • 浅谈Keras参数 input_shape、input_dim和input_length用法

    2021-02-19 13:24:40
  • MySQL数据库入门之备份数据库操作详解

    2024-01-24 07:10:05
  • perl文件包含(do,require,use)指令介绍

    2023-05-29 04:33:08
  • Python实现发送与接收邮件的方法详解

    2023-04-05 04:48:43
  • 网页制作,改变你的思维方式

    2007-09-29 13:12:00
  • 利用python实现汉字转拼音的2种方法

    2023-12-08 09:58:50
  • python 如何做一个识别率百分百的OCR

    2023-08-12 15:16:18
  • python使用装饰器作日志处理的方法

    2021-08-17 03:20:32
  • Git的简单理解及基础操作命令详解

    2023-01-17 11:03:35
  • 用JavaScript判断字符串长度

    2009-10-29 12:15:00
  • asp之家 网络编程 m.aspxhome.com