精华内容
下载资源
问答
  • 2020-08-21 23:28:12
    • 矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索;
    • 本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图

    本文内容速览

    欢迎随缘关注@pythonic生物人

    更多相关内容
  • Python可视化25_seaborn绘制矩阵图

    千次阅读 2021-02-10 20:02:26
    矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索;本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图本文内容速览imageimage目录1、绘图数据准备2、...

    矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索;

    本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图

    本文内容速览

    ce6dc46a9db1

    image

    ce6dc46a9db1

    image

    目录

    1、绘图数据准备

    2、seaborn.pairplot

    加上分类变量

    修改调色盘

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

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

    非对角线散点图加趋势线

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

    只显示网格下三角图形

    图形外观设置

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

    每个子图绘制同类型的图

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

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

    其它一些参数修改

    1、绘图数据准备

    还是使用鸢尾花iris数据集

    #导入本帖要用到的库,声明如下:

    import matplotlib.pyplot as plt

    import numpy as np

    import pandas as pd

    from pandas import Series,DataFrame

    from sklearn import datasets

    import seaborn as sns

    #导入鸢尾花iris数据集(方法一)

    #该方法更有助于理解数据集

    iris=datasets.load_iris()

    x, y =iris.data,iris.target

    y_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为float64

    pd_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")

    数据集简单统计

    ce6dc46a9db1

    image

    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)#文本大小

    ce6dc46a9db1

    image对角线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)

    ce6dc46a9db1

    image

    修改调色盘

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

    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)

    ce6dc46a9db1

    image

    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)

    ce6dc46a9db1

    image

    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)

    ce6dc46a9db1

    image

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

    import palettable

    g = 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)

    ce6dc46a9db1

    image

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

    import palettable

    g = 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)

    ce6dc46a9db1

    image

    非对角线散点图加趋势线

    import palettable

    g = 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)

    ce6dc46a9db1

    image

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

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

    import palettable

    g = 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)

    ce6dc46a9db1

    image

    只显示网格下三角图形

    import palettable

    g = sns.pairplot(pd_iris,

    hue='class',

    palette='Set1',

    corner=True#图形显示左下角

    )

    g.fig.set_size_inches(12,12)

    sns.set(font_scale=1.5)

    ce6dc46a9db1

    image

    图形外观设置

    import palettable

    g = 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)

    ce6dc46a9db1

    image

    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)

    ce6dc46a9db1

    image

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

    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)

    ce6dc46a9db1

    image

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

    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)

    ce6dc46a9db1

    image

    其它一些参数修改

    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)

    ce6dc46a9db1

    image参考资料:

    展开全文
  • 用Python绘制矩阵图

    千次阅读 2021-02-04 09:29:46
    我认为您可以使用plt.text来实现这些目的。下面的代码使用它来获得您想要的结果。在import matplotlib.pyplot as pltimport numpy as npfrom matplotlib import rcParamsrcParams['font.family'] = 'serif'rcParams...

    我认为您可以使用plt.text来实现这些目的。下面的代码使用它来获得您想要的结果。在import matplotlib.pyplot as plt

    import numpy as np

    from matplotlib import rcParams

    rcParams['font.family'] = 'serif'

    rcParams['font.size'] = 16

    A = [[1, 3, 4, 5, 6, 7],

    [3, 3, 0, 7, 9, 2],

    [1, 3, 4, 5, 6, 6]]

    X = ["A", "B", "C", "E", "F", "G"]

    Y = ["R", "S", "T"]

    m = len(Y)

    n = len(X)

    plt.figure(figsize=(n + 1, m + 1))

    for krow, row in enumerate(A):

    plt.text(5, 10*krow + 15, Y[krow],

    horizontalalignment='center',

    verticalalignment='center')

    for kcol, num in enumerate(row):

    if krow == 0:

    plt.text(10*kcol + 15, 5, X[kcol],

    horizontalalignment='center',

    verticalalignment='center')

    plt.text(10*kcol + 15, 10*krow + 15, num,

    horizontalalignment='center',

    verticalalignment='center')

    plt.axis([0, 10*(n + 1), 10*(m + 1), 0])

    plt.xticks(np.linspace(0, 10*(n + 1), n + 2), [])

    plt.yticks(np.linspace(0, 10*(m + 1), m + 2), [])

    plt.grid(linestyle="solid")

    plt.savefig("Table.png", dpi=300)

    plt.show()

    而且,你得到了

    c94b476d57cd211cc33664b949b6e984.png

    展开全文
  • graphM(M) 绘制矩阵 M 的(无序),如果条目 M_ij 非零,则显示节点 i(行)和 j(列)之间的连接。 对角线元素不计算在内。
  • 主要介绍了详解pandas绘制矩阵散点(scatter_matrix)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 一、plt.cm绘制 示例一:设置0-100的10*10的矩阵 代码1: import matplotlib.pyplot as plt import numpy as np A = np.arange(0, 100).reshape(10, 10) plt.matshow(mat, cmap=plt.cm.Reds)#这里设置颜色为...

      本次演示用jupter notebook.

    一、plt.cm绘制

        示例一:设置0-100的10*10的矩阵

    代码1:

    import matplotlib.pyplot as plt
    import numpy as np
    A = np.arange(0, 100).reshape(10, 10)
    plt.matshow(mat, cmap=plt.cm.Reds)#这里设置颜色为红色,也可以设置其他颜色
    plt.title("matrix A")
    plt.show()

    得到如下结果图1:

         注:对于矩阵的颜色设置还有很多,改变 plt.matshow(mat, cmap=plt.cm.Reds)中的Reds可根据自己喜好设置其他颜色,以下给出其他几种颜色。

    代码2:(设置颜色为蓝色)

    import matplotlib.pyplot as plt
    import numpy as np
    A = np.arange(0, 100).reshape(10, 10)
    plt.matshow(mat, cmap=plt.cm.Blues)
    plt.title("matrix A")
    plt.show()

    结果2:

     代码3:(设置颜色灰色)

    import matplotlib.pyplot as plt
    import numpy as np
    A = np.arange(0, 100).reshape(10, 10)
    plt.matshow(mat, cmap=plt.cm.gray)
    plt.title("matrix A")
    plt.show()

    结果3:

       示例二:随机设置矩阵 A

    代码4:

    import matplotlib.pyplot as plt
    import numpy as np
    A=np.array([[4,3,2,4],[5,4,7,8],[9,16,11,5],[13,3,4,16],[6,18,1,20]])
    plt.matshow(X, cmap=plt.cm.Reds)
    plt.title("matrix A")
    plt.show()

    结果4:

        注:从图中可以看出,不同的数值大小红色的深度是不一样的,数值越大红色越深,这里同样可以根据自己喜好设置不同的颜色,我就不再过多展示 。

    二、用plt.colorbar绘制矩阵图

    代码5:

    import numpy as np
    import matplotlib.pyplot as plt
    X=np.array([[0,3,2,4],[5,4,7,8],[9,16,8,5],[13,3,4,16],[6,18,1,20]])
    A = np.arange(0, 100).reshape(10, 10)
    ax = plt.matshow(X)
    plt.colorbar(ax.colorbar, fraction=0.025)
    plt.title("matrix X");
    plt.show()

    结果5:

    本人学习过程中的一些笔记,文中可能有些不足,欢迎大家讨论和指正。 

    展开全文
  • 1、示例 1 代码 import numpy as np import pandas as pd import matplotlib.pyplot as plt ...# 绘制散点图矩阵 pd.plotting.scatter_matrix(df) plt.show() 图形 2、示例 2 代码 import numpy as
  • Excel图表8——矩阵图(散点图)

    千次阅读 2021-05-16 18:10:06
    Excel图表8——矩阵图(散点图) 实例 原数据 一、计算平均值 二、插入图表 1.插入仅带数据标记的散点图(数据:满意度) 2.删除图例、网格线 3.调整横纵坐标范围 三、添加矩阵图的象限分割线 1.设置横...
  • 用Excel绘制分类矩阵图

    千次阅读 2020-12-31 09:27:00
    矩阵图相信大家都会绘制,就是在散点图的基础上绘制出来的,绘制出来类似下图,然后有朋友提出能否按不同象限或者类别快速设置散点的颜色呢?按常规做法,需要一个一个点的设置颜色,如果点少的话,还...
  • 效果展示: 例如随机生成一组分组数据,在最后两行调用函数: 为了绘图更加好看,后面使用中的数据绘图,该数据第一列即为分组情况:(该数据集已放入压缩包,请回复文末关键词获取) 各个属性在构造时候使用以及在...
  • python/matplotlib绘制混淆矩阵图

    千次阅读 2022-03-11 14:27:16
    # 热度,后面是指定的颜色块,可设置其他的不同颜色 plt.imshow(confusion, cmap=plt.cm.Blues) # plt.imshow(confusion) # ticks 坐标轴的坐标点 # label 坐标轴标签说明 indices = range(len(confusion)) # 第一...
  • python +gis 点数据转栅格数据 绘制矩阵图 import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] #将全局字体设...
  • 矩阵散点(对比不同系列之间的关系) 1.散点 # plt.scatter()散点 # plt.scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None, vmax=None, # alpha=None, linewidths=None, verts=None,...
  • 根据矩阵绘制色块图,可以用于绘制相关系数矩阵图,在程序中改变相关颜色值等,用丰富的颜色和形状形象的展示矩阵元素值的大小。
  • 矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索;本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图本文内容速览目录1、绘图数据准备2、seaborn....
  • matplotlib-矩阵绘图

    2021-03-21 10:58:53
    第八节 矩阵绘图 # 引入包 import matplotlib.pyplot as plt import numpy as np # 准备数据 m = np.random.rand(10, 12) m array([[0.46838188, 0.88061003, 0.09905449, 0.86064009, 0.54258062, 0.0397806 , 0....
  • 热力以颜色的明亮程度来显示数据的密集程度。颜色越明亮,数据越密集。 函数:seaborn.heatmap 常用参数: data 接收二维矩阵数据集,用于绘图的数据集。 vmin,vmax 接收float,表示颜色映射的值的...
  • 二、绘制矩阵图 Excel图表8——矩阵图(散点图)https://blog.csdn.net/HCHHC/article/details/116898916 三、绘制发展矩阵图 1添加线条 选择任意一个数据点(即系列全部的点,而不是某个单一的点),设置数据...
  • 主要介绍了Python根据已知邻接矩阵绘制无向操作,涉及Python使用networkx、matplotlib进行数值运算与图形绘制相关操作技巧,需要的朋友可以参考下
  • matlab绘制矩阵色块

    万次阅读 多人点赞 2018-06-09 20:12:48
    在R语言中有根据矩阵绘制色块图的程序,可以用于绘制相关系数矩阵图,用丰富的颜色和形状形象的展示矩阵元素值的大小。今天介绍的是如何用matlab绘制矩阵色块图。 1、绘制网格线,网格中显示矩阵元素,显示黑色...
  • Python实现散点和散点图矩阵绘制

    万次阅读 多人点赞 2018-11-09 23:03:59
    说明:代码运行环境为 Win10+Python3+jupyter notebook ...绘制散点的主要方法: 方法1:通过pandas包中的DataFrame对象调用plot()或plot.scatter()方法 方法2:通过matplotlib包中的axes对象调用sca...
  • python绘制矩阵散点

    2021-10-11 12:00:50
    # 定义画散点的函数 def draw_scatter(n, s): """ :param n: 点的数量,整数 :param s:点的大小,整数 :return: None """ # 加载数据 data = np.loadtxt('results1.txt', encoding='utf-8', delimiter=',')...
  • 本篇文章小编给大家介绍Python彩色螺旋矩阵绘制,在文章中小编详细的解析了绘值螺旋矩形的代码,对于“懒癌”小伙伴们,小编还给大家提供了完整的代码文件,可直接运行。
  • 利用python载入邻接矩阵绘制网络,基于python语言的特点,对邻接矩阵加以处理后再进行应用,即将邻接矩阵去除第一列(节点序号列),复杂网络的基本拓扑结构可以用图论的方法表示成G =(V,E),V中元素称为节点或...
  • 摘要 Matlab 是当今最优秀的科技应用软件之一它一强大的科学计算与可视化 功能简单易用开放式可扩展环境特别是所附带的30多种面向不同领域工具 箱支持使得它在许多科学领域中成为计算机辅助设计与分析算法研究和应用...
  • echarts 矩阵图用法

    千次阅读 2020-02-24 21:13:18
    name:'矩形', type:'treemap', itemStyle: { normal: { label: { show: true, formatter: "{b}" }, borderWidth: 1 }, emphasis: { label: { show: true } } }, data:[{ "name": "AWS Support",...
  • H5圆圈缩放矩阵图案动画特效是一款基于HTML5 Canvas制作的全屏圆圈缩放矩阵图案动画背景特效。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,921
精华内容 48,768
关键字:

如何绘制矩阵图