iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中seaborn如何绘制矩阵图
  • 764
分享到

Python中seaborn如何绘制矩阵图

2023-06-29 07:06:48 764人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中seaborn如何绘制矩阵图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本文内容速览1、绘图数据准备还是使用鸢尾花iris数据集#导入本帖要

这篇文章主要介绍了python中seaborn如何绘制矩阵图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

本文内容速览

Python中seaborn如何绘制矩阵图

Python中seaborn如何绘制矩阵图

1、绘图数据准备

还是使用鸢尾花iris数据集

#导入本帖要用到的库,声明如下:import matplotlib.pyplot as pltimport numpy as npimport pandas as pdfrom pandas import Series,DataFramefrom sklearn import datasetsimport seaborn as sns #导入鸢尾花iris数据集(方法一)#该方法更有助于理解数据集iris=datasets.load_iris()x, y =iris.data,iris.targety_1 = np.array(['setosa' if i==0 else 'versicolor' if i==1 else 'virginica' for i in y])pd_iris = pd.DataFrame(np.hstack((x, y_1.reshape(150,1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class']) #astype修改pd_iris中数据类型object为float64pd_iris['sepal length(cm)']=pd_iris['sepal length(cm)'].astype('float64')pd_iris['sepal width(cm)']=pd_iris['sepal width(cm)'].astype('float64')pd_iris['petal length(cm)']=pd_iris['petal length(cm)'].astype('float64')pd_iris['petal width(cm)']=pd_iris['petal width(cm)'].astype('float64')  #导入鸢尾花iris数据集(方法二)#import seaborn as sns#iris_sns = sns.load_dataset("iris")

数据集简单统计

Python中seaborn如何绘制矩阵图

2、seaborn.pairplot

语法:seaborn.pairplot(data, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, corner=False, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None, size=None)

g = sns.pairplot(pd_iris)g.fig.set_size_inches(12,12)#figure大小sns.set(style='whitegrid',font_scale=1.5)#文本大小

Python中seaborn如何绘制矩阵图

对角线4张图是变量自身的分布直方图;

非对角线的 12 张就是某个变量和另一个变量的关系。

加上分类变量

g = sns.pairplot(pd_iris,                 hue='class'#按照三种花分类                )sns.set(style='whitegrid')g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

修改调色盘

可以使用Matplotlib、seaborn、颜色号list等色盘。

可参考:Python可视化学习之seaborn调色盘

import palettable g = sns.pairplot(pd_iris,                 hue='class',                 palette=palettable.cartocolors.qualitative.Bold_9.mpl_colors,#palettable颜色盘                                )sns.set(style='whitegrid')g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

g = sns.pairplot(pd_iris,                 hue='class',                palette='Set1',#Matplotlib颜色                                )sns.set(style='whitegrid')g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

g = sns.pairplot(pd_iris,                 hue='class',                palette=['#dc2624', '#2b4750', '#45a0a2'],#使用传入的颜色list                                )sns.set(style='whitegrid')g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

x,y轴方向选取相同子集 

import palettableg = sns.pairplot(pd_iris,                 hue='class',                 palette=palettable.cartocolors.qualitative.Bold_9.mpl_colors,                 vars=['sepal length(cm)','sepal width(cm)'],#x,y轴方向选取相同子集绘图                                )sns.set(style='whitegrid')g.fig.set_size_inches(12,6)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

x,y轴方向选取不同子集

import palettableg = sns.pairplot(pd_iris,                 hue='class',                 palette=palettable.cartocolors.qualitative.Bold_9.mpl_colors,                 x_vars=['sepal length(cm)','sepal width(cm)'],#x,y轴方向选取不同子集                 y_vars=['petal length(cm)','petal width(cm)'],                                )sns.set(style='whitegrid')g.fig.set_size_inches(12,6)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

非对角线散点图加趋势线 

import palettableg = sns.pairplot(pd_iris,                 hue='class',                 palette=palettable.cartocolors.qualitative.Bold_9.mpl_colors,                 kind='reg',#默认为scatter,reg加上趋势线                                                 )sns.set(style='whitegrid')g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

对角线上的四个图绘制方式

可选参数为‘auto’, ‘hist’(默认), ‘kde’, None。

import palettableg = sns.pairplot(pd_iris,                 hue='class',                 palette=palettable.cartocolors.qualitative.Bold_9.mpl_colors,                 diag_kind='hist',#hist直方图                                               )sns.set(style='whitegrid')g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

只显示网格下三角图形 

import palettableg = sns.pairplot(pd_iris,                 hue='class',                 palette='Set1',                 corner=True#图形显示左下角                                ) g.fig.set_size_inches(12,12)sns.set(font_scale=1.5)

Python中seaborn如何绘制矩阵图

图形外观设置 

import palettableg = sns.pairplot(pd_iris,                 hue='class',                 palette='Set1',                 markers=['$\clubsuit$','.','+'],#散点图的marker                 plot_kws=dict(s=50, edgecolor="r", linewidth=1),#非对角线上的图marker大小、外框、外框线宽                 diag_kws=dict(shade=True)#对角线上核密度图是否填充                                                 )g.fig.set_size_inches(12,12)sns.set(font_scale=1.5)

Python中seaborn如何绘制矩阵图

3、seaborn.PairGrid(更灵活的绘制矩阵图)

seaborn.PairGrid(data, hue=None, hue_order=None, palette=None, hue_kws=None, vars=None, x_vars=None, y_vars=None, corner=False, diag_sharey=True, height=2.5, aspect=1, layout_pad=0, despine=True, dropna=True, size=None)

每个子图绘制同类型的图

g = sns.PairGrid(pd_iris,                  hue='class',                 palette='husl',)g = g.map(plt.scatter)#map每个子图绘制一样类型的图g = g.add_legend()g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

对角线和非对角线分别绘制不同类型图

g = sns.PairGrid(pd_iris,                  hue='class',                palette='Set1',)g = g.map_diag(plt.hist)#对角线绘制直方图g = g.map_offdiag(plt.scatter)#非对角线绘制散点图g = g.add_legend()g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

对角线上方、对角线、对角线下方分别绘制不同类型图

g = sns.PairGrid(pd_iris, hue='class',)g = g.map_upper(sns.scatterplot)g = g.map_lower(sns.kdeplot, colors="C0")g = g.map_diag(sns.kdeplot, lw=2)3绘制核密度图g = g.add_legend()#添加图例sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

其它一些参数修改

g = sns.PairGrid(pd_iris, hue='class',                 palette='Set1',                 hue_kws={"marker": ["^", "s", "D"]},#设置marker                 diag_sharey=False,                )g = g.map_upper(sns.scatterplot,edgecolor="w", s=40)#设置点大小,外框颜色g = g.map_lower(sns.kdeplot, colors="#01a2d9")#设置下三角图形颜色g = g.map_diag(sns.kdeplot, lw=3)#对角图形颜色g = g.add_legend()#添加图例g.fig.set_size_inches(12,12)sns.set(style='whitegrid',font_scale=1.5)

Python中seaborn如何绘制矩阵图

感谢你能够认真阅读完这篇文章,希望小编分享的“Python中seaborn如何绘制矩阵图”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: Python中seaborn如何绘制矩阵图

本文链接: https://www.lsjlt.com/news/323401.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中seaborn如何绘制矩阵图
    这篇文章主要介绍了Python中seaborn如何绘制矩阵图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本文内容速览1、绘图数据准备还是使用鸢尾花iris数据集#导入本帖要...
    99+
    2023-06-29
  • Python可视化学习之seaborn绘制矩阵图详解
    目录本文内容速览1、绘图数据准备2、seaborn.pairplot加上分类变量修改调色盘x,y轴方向选取相同子集 x,y轴方向选取不同子集非对角线散点图加趋势线 ...
    99+
    2024-04-02
  • Python利用Seaborn绘制多标签的混淆矩阵
    Seaborn - 绘制多标签的混淆矩阵、召回、精准、F1 导入seaborn\matplotlib\scipy\sklearn等包: import seaborn as sns f...
    99+
    2024-04-02
  • 绘制混淆矩阵(MatLab/Python)
    本文主要简单介绍如何绘制混淆矩阵       首先混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。         其实混淆矩阵就是用来判断我们的算法的...
    99+
    2023-09-05
    python matlab 机器学习 混淆矩阵
  • Matplotlib如何绘制混淆矩阵
    小编给大家分享一下Matplotlib如何绘制混淆矩阵,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:import itertoolsimport matplotlib.pyplot ...
    99+
    2023-06-15
  • Python中如何使用Seaborn绘制基线图
    这篇文章给大家分享的是有关Python中如何使用Seaborn绘制基线图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。基线图本文中的脚本在python3.8.3中进行了测试。让我们使用Seaborn内置的peng...
    99+
    2023-06-26
  • matlab怎么绘制矩阵的散点图
    在MATLAB中,你可以使用`scatter`函数来绘制矩阵的散点图。这里有一个简单的示例来说明如何使用`scatter`函数绘制矩...
    99+
    2023-09-13
    matlab
  • R语言绘制BubbleMatrix气泡矩阵图
    目录Step1. 绘图数据的准备Step2. 绘图数据的读取Step3.绘图所需package的安装、调用Step4.绘图Step5.美化又是一个好久不见,朋友们你们最近还好吗!最近...
    99+
    2024-04-02
  • HTML5中Canvas如何控制图形矩阵变换
    这篇文章主要介绍了HTML5中Canvas如何控制图形矩阵变换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在介绍矩阵变换transform...
    99+
    2024-04-02
  • 如何使用python数据可视化Seaborn绘制山脊图
    这篇文章主要介绍如何使用python数据可视化Seaborn绘制山脊图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 引言山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x...
    99+
    2023-06-22
  • 怎么用R语言绘制Bubble Matrix气泡矩阵图
    这篇文章主要介绍“怎么用R语言绘制Bubble Matrix气泡矩阵图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用R语言绘制Bubble Matrix气泡矩阵图”文章能帮...
    99+
    2023-06-29
  • Python+seaborn实现联合分布图的绘制
    本文介绍基于Python中seaborn模块,实现联合分布图绘制的方法。 联合分布(Joint Distribution)图是一种查看两个或两个以上变量之间两两相互关系的可视化图,在...
    99+
    2023-02-17
    Python seaborn绘制联合分布图 Python seaborn联合分布图 Python 联合分布图 Python seaborn
  • Python+Seaborn绘制分布图的示例详解
    目录前言示例 1示例 2示例 3示例 4示例 5例子 6例子 7示例 8示例 9示例10前言 在本文中,我们将介绍10个示例,以掌握如何使用用于Python的Seaborn库创建图表...
    99+
    2024-04-02
  • python数据可视化Seaborn绘制山脊图
    目录1. 引言2. 举个栗子3.山脊图4.扩展5.结论1. 引言 山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴. 山脊图经常以一种相...
    99+
    2024-04-02
  • seaborn如何绘制双变量联合分布图
    本文小编为大家详细介绍“seaborn如何绘制双变量联合分布图”,内容详细,步骤清晰,细节处理妥当,希望这篇“seaborn如何绘制双变量联合分布图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。绘制双变量联合分布...
    99+
    2023-07-04
  • Python+OpenCV如何实现在图像上绘制矩形
    小编给大家分享一下Python+OpenCV如何实现在图像上绘制矩形,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码import copyimport cv2import numpy&nbs...
    99+
    2023-06-29
  • python如何转置矩阵
    这篇文章主要介绍了python如何转置矩阵,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。转置矩阵在Python中,我们可以通过使用zip函数...
    99+
    2024-04-02
  • python怎么使用seaborn绘制直方图,密度图,散点图
    本文小编为大家详细介绍“python怎么使用seaborn绘制直方图,密度图,散点图”,内容详细,步骤清晰,细节处理妥当,希望这篇“python怎么使用seaborn绘制直方图,密度图,散点图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-07-02
  • Python 如何求矩阵的逆
    我就废话不多说了,大家还是直接看代码吧~ import numpy as np kernel = np.array([1, 1, 1, 2]).reshape((2, 2)) ...
    99+
    2024-04-02
  • Python+OpenCV实现在图像上绘制矩形
    话不多说,直接上代码 import copy import cv2 import numpy as np WIN_NAME = 'draw_rect' class Rec...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作