Python散点图矩阵代码模版

本文分享Python seaborn实现散点图矩阵代码模版,节选自👉嫌Matplotlib繁琐?试试Seaborn!

散点图矩阵(scatterplot matrix)展示原始数据中所有变量两两之间关系,可以规避单一统计指标的偏差,可以在平面上快速优雅的探索高维数据。注意区别于前文"分面多子图",散点图矩阵可在每个子图中显示不同变量之间的关系(上三角形和下三角形中的图表互为镜像),格子中也可以使用不同的图形。

seaborn通过pairplot和PairGrid轻松实现散点图矩阵。


散点图矩阵-一行代码

sns.pairplot(data=penguins, ).fig.set_dpi(150)  #一行代码

散点图矩阵-高度个性化

g = sns.PairGrid(penguins,
                 hue="性别",
                 palette=["#006a8e", "#b1283a"],
                 diag_sharey=False)
g.map_upper(
    sns.scatterplot,
    size=penguins["体重"],  #散点按照"体重"变化
)  #更多参数参考上文章节"7.1 散点图(13种)"
g.map_diag(
    sns.histplot,
    multiple="stack",  #堆叠
)  #更多参数参考上文章节"8.1.12 分组直方图-堆积叠加"
g.map_lower(
    sns.kdeplot,
    fill=True,  #填充
    alpha=0.6,  #透明度
)  #更多参数参考上文章节"8.2 核密度图(16种)"
g.add_legend(title="")
g.fig.set_dpi(150)

换一组palettable中的配色👉palettable实现配色自由

g = sns.PairGrid(penguins,
                 hue="性别",
                 palette=palettable.tableau.BlueRed_6.mpl_colors[0:3],
                 diag_sharey=False)
g.map_upper(
    sns.scatterplot,
    size=penguins["体重"],
)
g.map_diag(
    sns.histplot,
    multiple="stack",
)
g.map_lower(
    sns.kdeplot,
    fill=True,
    alpha=0.6,
)
g.add_legend(title="")
g.fig.set_dpi(150)
g = sns.PairGrid(penguins,
                 hue="性别",
                 palette=palettable.lightbartlein.diverging.BlueGrey_8_r.mpl_colors[0:3],
                 diag_sharey=False)
g.map_upper(
    sns.scatterplot,
    size=penguins["体重"],
)
g.map_diag(
    sns.histplot,
    multiple="stack",
)
g.map_lower(
    sns.kdeplot,
    fill=True,
    alpha=0.6,
)
g.add_legend(title="")
g.fig.set_dpi(150)
g = sns.PairGrid(penguins,
                 hue="性别",
                 palette=palettable.cartocolors.qualitative.Bold_9_r.mpl_colors[0:3],
                 diag_sharey=False)
g.map_upper(
    sns.scatterplot,
    size=penguins["体重"],
)
g.map_diag(
    sns.histplot,
    multiple="stack",
)
g.map_lower(
    sns.kdeplot,
    fill=True,
    alpha=0.6,
)
g.add_legend(title="")
g.fig.set_dpi(150)

更多干货👇

相关推荐
言、雲3 分钟前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
Altair澳汰尔6 分钟前
数据分析和AI丨知识图谱,AI革命中数据集成和模型构建的关键推动者
人工智能·算法·机器学习·数据分析·知识图谱
程序猿000001号7 分钟前
探索数据可视化的利器:Matplotlib
信息可视化·matplotlib
汪洪墩33 分钟前
【Mars3d】设置backgroundImage、map.scene.skyBox、backgroundImage来回切换
开发语言·javascript·python·ecmascript·webgl·cesium
一个程序员_zhangzhen1 小时前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver
zfj3211 小时前
学技术学英文:代码中的锁:悲观锁和乐观锁
数据库·乐观锁··悲观锁·竞态条件
吴冰_hogan1 小时前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle
nbsaas-boot1 小时前
探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
数据库·mysql·json
cmdch20171 小时前
Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
数据库·sql·mybatis
程序员学习随笔1 小时前
PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
数据库·postgresql