精华内容
下载资源
问答
  • Python可视化25|seaborn绘制矩阵图

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

    本文内容速览

    欢迎随缘关注@pythonic生物人

    目录

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

    数据集简单统计


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

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

     

    •  修改调色盘

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

    可参考:python调色盘

    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)

    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)

    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)

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

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

    • 非对角线散点图加趋势线 

    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)

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

    可选参数为‘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)

    • 只显示网格下三角图形 

    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)

    • 图形外观设置 

    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)


    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)

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

    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)

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

    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)

    • 其它一些参数修改

    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)

     

    参考资料:

    本文结束,欢迎随缘关注@pythonic生物人

     

    展开全文
  • 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'] #将全局字体设...

    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'] #将全局字体设为黑体
    mpl.rcParams['axes.unicode_minus']=False
    #import rain_contour
    #from mpl_toolkits.basemap import Basemap
    import matplotlib
    df = pd.DataFrame(np.random.random([4, 5]),
         columns=['A', 'B', '0','D','E'], index=['first', 'second', 'third','4'])
    print(df)
    #相关程度分析
    import seaborn as sns
    dataHappiness = df
    
    f, ax= plt.subplots(figsize = (7, 5))
    colnm = dataHappiness.columns.tolist()  
    mcorr = dataHappiness[colnm].corr(method="spearman")  # 相关矩阵
    mask = np.zeros_like(mcorr, dtype=np.bool)  # 构造相关矩阵 bool型次
    #mask[np.triu_indices_from(mask)] = True  # 设置对角线
    
    cmap = sns.diverging_palette(200, 8, as_cmap=True)  #设置颜色sns.husl_palette(10, l=.4)
    sns.heatmap(mcorr, mask=mask, cmap=cmap, vmax = 1,vmin=-1, linewidths=1, cbar =True,
                cbar_kws={'label': u'相关程度'}, square=True, annot=True,
                annot_kws={'size':10,'color':'black'}, 
                fmt='0.1f', ax=ax)  # 热力图
    ax.set_title('相关矩阵图',fontsize=20)
    ax.figure.axes[-1].yaxis.label.set_size(10)#设置图例标题大小
    
    ax.tick_params(axis='y',labelsize=10) # y轴字体大小
    ax.tick_params(axis='x',labelsize=10) # x轴字体大小
    plt.savefig('test.tif')
    

    在这里插入图片描述
    在这里插入图片描述
    总结:通过这种方法可以实现矩阵图,实现点数据显示为栅格数据,附上GIS信息

    相关参考:

    python画热力图(相关系数矩阵图):https://blog.csdn.net/henbile/article/details/80241597

    sns.heatmap(pd.DataFrame(np.round(a,2), columns = ['a', 'b', 'c'], index = range(1,5)), 
                    annot=True, vmax=1,vmin = 0, xticklabels= True, yticklabels= True, square=True, cmap="YlGnBu")
    

    注:直接pd.DataFrame 也可以做矩阵图

    展开全文
  • matlab绘制矩阵色块

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

                                       matlab绘制矩阵色块图

    本博客参考谢中华 (天津科技大学理学院数学系副教授)老师一书           

    在R语言中有根据矩阵绘制色块图的程序,可以用于绘制相关系数矩阵图,用丰富的颜色和形状形象的展示矩阵元素值的大小。今天介绍的是如何用matlab绘制矩阵色块图。

    1、绘制网格线,网格中显示矩阵元素,显示黑色文字。

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',XVarNames);

    效果图如下:

    2、根据矩阵元素值自动设置文字颜色。

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor','Auto','ColorBar','on');

    效果图如下:

    3、绘制实值矩阵各元素对应的色块,通过不同的“参数/参数值”控制色块的形状、大小、颜色等属性。 
    方形色块,充满方格,灰白色字体。

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor',[0.6,0.6,0.6],'ColorBar','on');

    效果图如下:

    4、方形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体。

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on');

    效果图如下:

    5、椭圆形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体。

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on','FigShape','e');

    效果图如下:

    6、圆形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体,上三角形式显示。

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on','FigShape','c','FigStyle','Triu');

    效果图如下:

    7、六边形色块,根据矩阵元素值自动确定色块的大小和颜色,显示字体,下三角形式显示

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','on','FigSize','Auto','ColorBar','on','FigShape','h','FigStyle','Tril');

    效果图如下:

    8、表盘形色块,根据矩阵元素值自动确定色块的颜色,不显示字体

     x = [1.0000    0.1302    0.0582    0.0169    0.0779    0.0833   -0.0313
        0.1302    1.0000    0.0482    0.3843    0.2105   -0.2500    0.0803
        0.0582    0.0482    1.0000    0.0481    0.3515   -0.0426    0.0574
        0.0169    0.3843    0.0481    1.0000   -0.1819   -0.3554   -0.0020
        0.0779    0.2105    0.3515   -0.1819    1.0000    0.0388    0.0186
        0.0833   -0.2500   -0.0426   -0.3554    0.0388    1.0000   -0.1853
       -0.0313    0.0803    0.0574   -0.0020    0.0186   -0.1853    1.0000];
    XVarNames = {'Sleep','Age','Sex','Rel','Psy','Ner','Cha'};
    matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Full','ColorBar','on','FigShape','d');

    效果图如下:

     最后贴上matrixplot函数的源码,源码中有详细的调用格式及参数说明,可以通过设置不同参数。感兴趣的朋友可以自己设置不同的参数。

    function matrixplot(data,varargin)
    %   根据实值矩阵绘制色块图,用丰富的颜色和形状形象的展示矩阵元素值的大小。
    %
    %   matrixplot(data) 绘制矩阵色块图,data为实值矩阵,每一个元素对应一个色块,色
    %                    块颜色由元素值大小决定。
    %
    %   matrixplot(data, 'PARAM1',val1, 'PARAM2',val2, ...) 
    %          用成对出现的参数名/参数值控制色块的各项属性。可用的参数名/参数值如下:
    %          'FigShape' --- 设定色块的形状,其参数值为:
    %                'Square'  --- 方形(默认)
    %                'Circle'  --- 圆形
    %                'Ellipse' --- 椭圆形
    %                'Hexagon' --- 六边形
    %                'Dial'    --- 表盘形
    %
    %          'FigSize' --- 设定色块的大小,其参数值为:
    %                'Full'    --- 最大色块(默认)
    %                'Auto'    --- 根据矩阵元素值自动确定色块大小
    %
    %          'FigStyle' --- 设定矩阵图样式,其参数值为:
    %                'Auto'    --- 矩形矩阵图(默认)
    %                'Tril'    --- 下三角矩阵图
    %                'Triu'    --- 上三角矩阵图
    %
    %          'FillStyle' --- 设定色块填充样式,其参数值为:
    %                'Fill'    --- 填充色块内部(默认)
    %                'NoFill'  --- 不填充色块内部
    %
    %          'DisplayOpt' --- 设定是否在色块中显示矩阵元素值,其参数值为:
    %                'On'      --- 显示矩阵元素值(默认)
    %                'Off'     --- 不显示矩阵元素值
    %
    %          'TextColor' --- 设定文字的颜色,其参数值为:
    %                表示单色的字符('r','g','b','y','m','c','w','k'),默认为黑色
    %                1行3列的红、绿、蓝三元色灰度值向量([r,g,b])
    %                'Auto'    --- 根据矩阵元素值自动确定文字颜色
    %
    %          'XVarNames' --- 设定X轴方向需要显示的变量名(默认为X1,X2,...),其参数值为:
    %                字符串矩阵或字符串元胞数组,若为字符串矩阵,其行数应与data的列数相同
    %                若为字符串元胞数组,其长度应与data的列数相同。
    %
    %          'YVarNames' --- 设定Y轴方向需要显示的变量名(默认为Y1,Y2,...),其参数值为:
    %                字符串矩阵或字符串元胞数组,若为字符串矩阵,其行数应与data的行数相同
    %                若为字符串元胞数组,其长度应与data的行数相同。
    %
    %          'ColorBar' --- 设定是否显示颜色条,其参数值为:
    %                'On'      --- 显示颜色条
    %                'Off'     --- 不显示颜色条(默认)
    %
    %          'Grid' --- 设定是否显示网格线,其参数值为:
    %                'On'      --- 显示网格线(默认)
    %                'Off'     --- 不显示网格线
    %
    %   Example:
    %   x = [1,-0.2,0.3,0.8,-0.5
    %        -0.2,1,0.6,-0.7,0.2
    %         0.3,0.6,1,0.5,-0.3
    %         0.8,-0.7,0.5,1,0.7
    %        -0.5,0.2,-0.3,0.7,1];
    %   matrixplot(x);
    %   matrixplot(x,'DisplayOpt','off');
    %   matrixplot(x,'FillStyle','nofill','TextColor','Auto');
    %   matrixplot(x,'TextColor',[0.7,0.7,0.7],'FigShap','s','FigSize','Auto','ColorBar','on');
    %   matrixplot(x,'TextColor','k','FigShap','d','FigSize','Full','ColorBar','on','FigStyle','Triu');
    %   XVarNames = {'xiezhh','heping','keda','tust','tianjin'};
    %   matrixplot(x,'FigShap','e','FigSize','Auto','ColorBar','on','XVarNames',XVarNames,'YVarNames',XVarNames);
    % 对第一个输入参数类型进行判断
    if ~ismatrix(data) || ~isreal(data)
        error('输入参数类型不匹配:第一个输入参数应为实值矩阵');
    end
    
    % 解析成对出现的参数名/参数值
    [FigShape,FigSize,FigStyle,FillStyle,DisplayOpt,TextColor,XVarNames,...
        YVarNames,ColorBar,GridOpt] = parseInputs(varargin{:});
    
    % 产生网格数据
    [m,n] = size(data);
    [x,y] = meshgrid(0:n,0:m);
    data = data(:);
    maxdata = nanmax(data);
    mindata = nanmin(data);
    rangedata = maxdata - mindata;
    if isnan(rangedata)
        warning('MATLAB:warning1','请检查您输入的矩阵是否合适!');
        return;
    end
    z = zeros(size(x))+0.2;
    sx = x(1:end-1,1:end-1)+0.5;
    sy = y(1:end-1,1:end-1)+0.5;
    
    if strncmpi(FigStyle,'Tril',4)
        z(triu(ones(size(z)),2)>0) = NaN;
        sx(triu(ones(size(sx)),1)>0) = NaN;
    elseif strncmpi(FigStyle,'Triu',4)
        z(tril(ones(size(z)),-2)>0) = NaN;
        sx(tril(ones(size(sx)),-1)>0) = NaN;
    end
    sx = sx(:);
    sy = sy(:);
    id = isnan(sx) | isnan(data);
    sx(id) = [];
    sy(id) = [];
    data(id) = [];
    
    if isempty(XVarNames)
        XVarNames = strcat('X',cellstr(num2str((1:n)')));
    else
        if (iscell(XVarNames) && (numel(XVarNames) ~= n)) || (~iscell(XVarNames) && (size(XVarNames,1) ~= n))
            error('X轴方向变量名应为字符串矩阵或字符串元胞数组,其长度与输入矩阵的列数相同');
        end
    end
    if isempty(YVarNames)
        YVarNames = strcat('Y',cellstr(num2str((1:m)')));
    else
        if (iscell(YVarNames) && (numel(YVarNames) ~= m)) || (~iscell(YVarNames) && (size(YVarNames,1) ~= m))
            error('Y轴方向变量名应为字符串矩阵或字符串元胞数组,其长度与输入矩阵的行数相同');
        end
    end
    
    % 绘图
    figure('color','w',...
        'units','normalized',...
        'pos',[0.289165,0.154948,0.409956,0.68099]);
    axes('units','normalized','pos',[0.1,0.022,0.89,0.85]);
    if strncmpi(GridOpt,'On',2)
        mesh(x,y,z,...
            'EdgeColor',[0.7,0.7,0.7],...
            'FaceAlpha',0,...
            'LineWidth',1);   % 参考网格线
    end
    hold on;
    axis equal;
    axis([-0.1,n+0.1,-0.1,m+0.1,-0.5,0.5]);
    view(2);
    % 设置X轴和Y轴刻度位置及标签
    set(gca,'Xtick',(1:n)-0.5,...
        'XtickLabel',XVarNames,...
        'Ytick',(1:m)-0.5,...
        'YtickLabel',YVarNames,...
        'XAxisLocation','top',...
        'YDir','reverse',...
        'Xcolor',[0.7,0.7,0.7],...
        'Ycolor',[0.7,0.7,0.7],...
        'TickLength',[0,0]);
    axis off
    
    % 绘制填充色块
    if strncmpi(FillStyle,'Fill',3)
        MyPatch(sx',sy',data',FigShape,FigSize);
    end
    
    % 显示数值文本信息
    if strncmpi(DisplayOpt,'On',2)
        str = num2str(data,'%4.2f');
        scale = 0.1*max(n/m,1)/(max(m,n)^0.55);
        if strncmpi(TextColor,'Auto',3)
            ColorMat = get(gcf,'ColorMap');
            nc = size(ColorMat,1);
            cid = fix(mapminmax(data',0,1)*nc)+1;
            cid(cid<1) = 1;
            cid(cid>nc) = nc;
            TextColor = ColorMat(cid,:);
            for i = 1:numel(data)
                text(sx(i),sy(i),0.1,str(i,:),...
                    'FontUnits','normalized',...
                    'FontSize',scale,...
                    'fontweight','bold',...
                    'HorizontalAlignment','center',...
                    'Color',TextColor(i,:));
            end
        else
            text(sx,sy,0.1*ones(size(sx)),str,...
                'FontUnits','normalized',...
                'FontSize',scale,...
                'fontweight','bold',...
                'HorizontalAlignment','center',...
                'Color',TextColor);
        end
    end
    
    % 设置X轴和Y轴刻度标签的缩进方式
    MyTickLabel(gca,FigStyle);
    
    % 添加颜色条
    if strncmpi(ColorBar,'On',2)
        if any(strncmpi(FigStyle,{'Auto','Triu'},4))
            colorbar('Location','EastOutside');
        else
            colorbar('Location','SouthOutside');
        end
    end
    end
    
    % ---------------------------------------------------
    %  调整坐标轴刻度标签子函数
    % ---------------------------------------------------
    function MyTickLabel(ha,tag)
    
    %   根据显示范围自动调整坐标轴刻度标签的函数
    %   ha   坐标系句柄值
    %   tag  调整坐标轴刻度标签的标识字符串,可用取值如下:
    %        'Auto' --- 将x轴刻度标签旋转90度,y轴刻度标签不作调整
    %        'Tril' --- 将x轴刻度标签旋转90度,并依次缩进,y轴刻度标签不作调整
    %        'Triu' --- 将x轴刻度标签旋转90度,y轴刻度标签依次缩进
    %   Example:
    %   MyTickLabel(gca,'Tril');
    if ~ishandle(ha)
        warning('MATLAB:warning2','第一个输入参数应为坐标系句柄');
        return;
    end
    
    if ~strcmpi(get(ha,'type'),'axes')
        warning('MATLAB:warning3','第一个输入参数应为坐标系句柄');
        return;
    end
    axes(ha);
    xstr = get(ha,'XTickLabel');
    xtick = get(ha,'XTick');
    xl = xlim(ha);
    ystr = get(ha,'YTickLabel');
    ytick = get(ha,'YTick');
    yl = ylim(ha);
    set(ha,'XTickLabel',[],'YTickLabel',[]);
    x = zeros(size(ytick)) + xl(1) - range(xl)/30;
    y = zeros(size(xtick)) + yl(1) - range(yl)/70;
    nx = numel(xtick);
    ny = numel(ytick);
    
    if strncmpi(tag,'Tril',4)
        y = y + (1:nx) - 1;
    elseif strncmpi(tag,'Triu',4)
        x = x + (1:ny) - 1;
    end
    
    text(xtick,y,xstr,...
        'rotation',90,...
        'Interpreter','none',...
        'color','r',...
        'HorizontalAlignment','left');
    text(x,ytick,ystr,...
        'Interpreter','none',...
        'color','r',...
        'HorizontalAlignment','right');
    end
    
    % ---------------------------------------------------
    %  根据散点数据绘制3维色块图子函数
    % ---------------------------------------------------
    function  MyPatch(x,y,z,FigShape,FigSize)
    %   根据散点数据绘制3维色块图
    %   MyPatch(x,y,z,FigShape,FigSize)  x,y,z是实值数组,用来指定色块中心点三维
    %          坐标。FigShape是字符串变量,用来指定色块形状。
    %          FigSize是字符串变量,用来指定色块大小。
    %
    %   Example:
    %         x = rand(10,1);
    %         y = rand(10,1);
    %         z = rand(10,1);
    %         MyPatch(x,y,z,'s','Auto');
    %
    
    % 输入参数类型判断
    if nargin < 3
        error('至少需要三个输入参数');
    end
    if ~isreal(x) || ~isreal(y) || ~isreal(z)
        error('前三个输入应为实值数组');
    end
    
    n = numel(z);
    if numel(x) ~= n || numel(y) ~= n
        error('坐标应等长');
    end
    
    if strncmpi(FigSize,'Auto',3) && ~strncmpi(FigShape,'Ellipse',1)
        id = (z == 0);
        x(id) = [];
        y(id) = [];
        z(id) = [];
    end
    if isempty(z)
        return;
    end
    
    % 求色块顶点坐标
    rab1 = ones(size(z));
    maxz = max(abs(z));
    if maxz == 0
        maxz = 1;
    end
    rab2 = abs(z)/maxz;
    if strncmpi(FigShape,'Square',1)
        % 方形
        if strncmpi(FigSize,'Full',3)
            r = rab1;
        else
            r = sqrt(rab2);
        end
        SquareVertices(x,y,z,r);
    elseif strncmpi(FigShape,'Circle',1)
        % 圆形
        if strncmpi(FigSize,'Full',3)
            r = 0.5*rab1;
        else
            r = 0.5*sqrt(rab2);
        end
        CircleVertices(x,y,z,r);
    elseif strncmpi(FigShape,'Ellipse',1)
        % 椭圆形
        a = 0.48 + rab2*(0.57-0.48);
        b = (1-rab2).*a;
        EllipseVertices(x,y,z,a,b);
    elseif strncmpi(FigShape,'Hexagon',1)
        % 六边形
        if strncmpi(FigSize,'Full',3)
            r = 0.5*rab1;
        else
            r = 0.5*sqrt(rab2);
        end
        HexagonVertices(x,y,z,r);
    else
        % 表盘形
        if strncmpi(FigSize,'Full',3)
            r = 0.45*rab1;
        else
            r = 0.45*sqrt(rab2);
        end
        DialVertices(x,y,z,r);
    end
    end
    %--------------------------------------------------
    % 求色块顶点坐标并绘制色块的子函数
    %--------------------------------------------------
    function SquareVertices(x,y,z,r)
    % 方形
    hx = r/2;
    hy = hx;
    Xp = [x-hx;x-hx;x+hx;x+hx;x-hx];
    Yp = [y-hy;y+hy;y+hy;y-hy;y-hy];
    Zp = repmat(z,[5,1]);
    patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');
    end
    
    function CircleVertices(x,y,z,r)
    % 圆形
    t = linspace(0,2*pi,30)';
    m = numel(t);
    Xp = repmat(x,[m,1])+cos(t)*r;
    Yp = repmat(y,[m,1])+sin(t)*r;
    Zp = repmat(z,[m,1]);
    patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');
    end
    
    function EllipseVertices(x,y,z,a,b)
    % 椭圆形
    t = linspace(0,2*pi,30)';
    m = numel(t);
    t0 = -sign(z)*pi/4;
    t0 = repmat(t0,[m,1]);
    x0 = cos(t)*a;
    y0 = sin(t)*b;
    Xp = repmat(x,[m,1]) + x0.*cos(t0) - y0.*sin(t0);
    Yp = repmat(y,[m,1]) + x0.*sin(t0) + y0.*cos(t0);
    Zp = repmat(z,[m,1]);
    patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');
    end
    
    function HexagonVertices(x,y,z,r)
    % 六边形
    t = linspace(0,2*pi,7)';
    m = numel(t);
    Xp = repmat(x,[m,1])+cos(t)*r;
    Yp = repmat(y,[m,1])+sin(t)*r;
    Zp = repmat(z,[m,1]);
    patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');
    end
    
    function DialVertices(x,y,z,r)
    % 表盘形
    % 绘制表盘扇形
    maxz = max(abs(z));
    t0 = z*2*pi/maxz-pi/2;
    t0 = cell2mat(arrayfun(@(x)linspace(-pi/2,x,30)',t0,'UniformOutput',0));
    m = size(t0,1);
    r0 = repmat(r,[m,1]);
    Xp = [x;repmat(x,[m,1]) + r0.*cos(t0);x];
    Yp = [y;repmat(y,[m,1]) + r0.*sin(t0);y];
    Zp = repmat(z,[m+2,1]);
    patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor',[0,0,0]);
    
    % 绘制表盘圆周
    t = linspace(0,2*pi,30)';
    m = numel(t);
    Xp = repmat(x,[m,1])+cos(t)*r;
    Yp = repmat(y,[m,1])+sin(t)*r;
    Zp = repmat(z,[m,1]);
    Xp = [Xp;flipud(Xp)];
    Yp = [Yp;flipud(Yp)];
    Zp = [Zp;flipud(Zp)];
    patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor',[0,0,0]);
    end
    
    %--------------------------------------------------------------------------
    %  解析输入参数子函数1
    %--------------------------------------------------------------------------
    function [FigShape,FigSize,FigStyle,FillStyle,DisplayOpt,TextColor,...
        XVarNames,YVarNames,ColorBar,GridOpt] = parseInputs(varargin)
    
    if mod(nargin,2)~=0
        error('输入参数个数不对,应为成对出现');
    end
    pnames = {'FigShape','FigSize','FigStyle','FillStyle','DisplayOpt',...
        'TextColor','XVarNames','YVarNames','ColorBar','Grid'};
    dflts =  {'Square','Full','Auto','Fill','On','k','','','Off','On'};
    [FigShape,FigSize,FigStyle,FillStyle,DisplayOpt,TextColor,XVarNames,...
        YVarNames,ColorBar,GridOpt] = parseArgs(pnames, dflts, varargin{:});
    
    validateattributes(FigShape,{'char'},{'nonempty'},mfilename,'FigShape');
    validateattributes(FigSize,{'char'},{'nonempty'},mfilename,'FigSize');
    validateattributes(FigStyle,{'char'},{'nonempty'},mfilename,'FigStyle');
    validateattributes(FillStyle,{'char'},{'nonempty'},mfilename,'FillStyle');
    validateattributes(DisplayOpt,{'char'},{'nonempty'},mfilename,'DisplayOpt');
    validateattributes(TextColor,{'char','numeric'},{'nonempty'},mfilename,'TextColor');
    validateattributes(XVarNames,{'char','cell'},{},mfilename,'XVarNames');
    validateattributes(YVarNames,{'char','cell'},{},mfilename,'YVarNames');
    validateattributes(ColorBar,{'char'},{'nonempty'},mfilename,'ColorBar');
    validateattributes(GridOpt,{'char'},{'nonempty'},mfilename,'Grid');
    if ~any(strncmpi(FigShape,{'Square','Circle','Ellipse','Hexagon','Dial'},1))
        error('形状参数只能为Square, Circle, Ellipse, Hexagon, Dial 之一');
    end
    if ~any(strncmpi(FigSize,{'Full','Auto'},3))
        error('图形大小参数只能为Full, Auto 之一');
    end
    if ~any(strncmpi(FigStyle,{'Auto','Tril','Triu'},4))
        error('图形样式参数只能为Auto, Tril, Triu 之一');
    end
    if ~any(strncmpi(FillStyle,{'Fill','NoFill'},3))
        error('图形填充样式参数只能为Fill, NoFill 之一');
    end
    if ~any(strncmpi(DisplayOpt,{'On','Off'},2))
        error('显示数值参数只能为On,Off 之一');
    end
    if ~any(strncmpi(ColorBar,{'On','Off'},2))
        error('显示颜色条参数只能为On,Off 之一');
    end
    if ~any(strncmpi(GridOpt,{'On','Off'},2))
        error('显示网格参数只能为On,Off 之一');
    end
    end
    
    %--------------------------------------------------------------------------
    %  解析输入参数子函数2
    %--------------------------------------------------------------------------
    function [varargout] = parseArgs(pnames,dflts,varargin)
    %   Copyright 2010-2011 The MathWorks, Inc.
    %   $Revision: 1.1.6.2 $  $Date: 2011/05/09 01:27:26 $
    % Initialize some variables
    nparams = length(pnames);
    varargout = dflts;
    setflag = false(1,nparams);
    unrecog = {};
    nargs = length(varargin);
    
    dosetflag = nargout>nparams;
    dounrecog = nargout>(nparams+1);
    
    % Must have name/value pairs
    if mod(nargs,2)~=0
        m = message('stats:internal:parseArgs:WrongNumberArgs');
        throwAsCaller(MException(m.Identifier, '%s', getString(m)));
    end
    
    % Process name/value pairs
    for j=1:2:nargs
        pname = varargin{j};
        if ~ischar(pname)
            m = message('stats:internal:parseArgs:IllegalParamName');
            throwAsCaller(MException(m.Identifier, '%s', getString(m)));
        end
        
        mask = strncmpi(pname,pnames,length(pname)); % look for partial match
        if ~any(mask)
            if dounrecog
                % if they've asked to get back unrecognized names/values, add this
                % one to the list
                unrecog((end+1):(end+2)) = {varargin{j} varargin{j+1}};
                continue
            else
                % otherwise, it's an error
                m = message('stats:internal:parseArgs:BadParamName',pname);
                throwAsCaller(MException(m.Identifier, '%s', getString(m)));
            end
        elseif sum(mask)>1
            mask = strcmpi(pname,pnames); % use exact match to resolve ambiguity
            if sum(mask)~=1
                m = message('stats:internal:parseArgs:AmbiguousParamName',pname);
                throwAsCaller(MException(m.Identifier, '%s', getString(m)));
            end
        end
        varargout{mask} = varargin{j+1};
        setflag(mask) = true;
    end
    
    % Return extra stuff if requested
    if dosetflag
        varargout{nparams+1} = setflag;
        if dounrecog
            varargout{nparams+2} = unrecog;
        end
    end
    end

    小编邮箱:2377389590@qq.com

    小编微信

    小编抖音

     

    欢迎加群:707914447

     

     

    展开全文
  • 矩阵图相信大家都会绘制,就是在散点图的基础上绘制出来的,绘制出来类似下图,然后有朋友提出能否按不同象限或者类别快速设置散点的颜色呢?按常规做法,需要一个一个点的设置颜色,如果点少的话,还...

    矩阵图相信大家都会绘制,就是在散点图的基础上绘制出来的,绘制出来类似下图,然后有朋友提出能否按不同象限或者类别快速设置散点的颜色呢?

    按常规做法,需要一个一个点的设置颜色,如果点少的话,还好,遇到点多的就要奔溃了。

    需要绘制的分类矩阵图效果如下图所示

    那有没有快捷的方法呢?

    答案当然有啦,不然就没这篇文章啦。

    绘图思路:就是将四个象限的数据分四个数据系列进行添加、绘制,第一个图是一个数据系列绘制的,也就是一类,分四个数据系列绘制,也就是四类,这样就可以分类设置点的颜色了,也就是第二个图。

    首先绘制矩阵图的数据要做下处理,增加象限分组,并按象限排序,让同一个象限数据排放在一起,各个象限之间的数据边框设置下粗宽线,方便选数据用。如下图所示。

    长按识别下方二维码,并关注公众号
    回复“
    FLJZ”获取案例数据

    那我们就开始绘制分类矩阵图啦

    SETP1:绘制第一象限的散点图,所以只选择C2:D6单元格范围数据,然后点击菜单插入--图表--散点图,绘制过程的动图如下:

    SETP2:绘制第二象限的散点图,这个时候在绘制第一象限散点图的基础上,对着图表点鼠标右键,点击 选择数据,在弹出的【选择数据源】对话框中,添加第二象限的X轴值、Y轴值,绘制过程的动图如下:

    当然系列名称你可以添加为第二象限,我这偷懒就不加了。

    SETP3:绘制第三、四象限的散点图,按SETP2方法,依次添加第三、四象限数据系列。

    这个时候四个象限的点都已经添加、绘制完毕。

    剩下的操作就跟绘制矩阵图是一样的啦,这里就不在重复了。最后就是这样的效果。

    展开全文
  • 根据邻接矩阵绘制矩阵网络Matlab程序 RT 根据节点活跃度自动分级
  • ggplot2 绘制 相关矩阵图

    千次阅读 2020-07-10 08:20:00
    文章目录雷达 ggradar相关ggcorr()ggcorrplot()ggpairs()ggcor()相关系数矩阵Mantel检验环形热图一般热图热图pheatmap ggplot除了常见的散点、柱形,还可以通过扩展包快速生成复杂的统计图形。 雷达 ...
  • 接着要做一个动态矩阵图,要求图能检测鼠标的位置做出相应改变,并能相应功能键。具体效果如下:    好吧,我承认这图里的东西不是我做的,我的目标就是仿照这个做个新东西出来。当然也必须具备它的功能...
  • 我想创建一个图表,显示来自邻接矩阵的节点之间的连接,如下所示.gplot似乎是最好的工具.但是,为了使用它,我需要传递每个节点的坐标.问题是我不知道坐标应该在哪里,我希望这个函数能够为我找出一个好的布局.例如,这是...
  • XMind矩阵图绘制

    2015-08-26 13:53:00
    绘制矩阵图。  首先打开 XMind 思维导图进行绘制。  然后选中主题右击打开属性,你也可以在工具栏中直接打开属性。  在结构的下拉框中,你可以看到矩阵结构选项。    点击矩阵结构,一以...
  • jsp中绘制风险矩阵图

    2017-05-18 21:57:47
    项目有个页面要求绘制风险矩阵图,从数据库中的三个表 。目前数据都有,可是不知道前台应该怎么样绘制,求大神解答,谢谢了。类似于以下这种图,还需要加动态的横纵表头 [img=...
  • 二、绘制矩阵图 Excel图表8——矩阵图(散点图)https://blog.csdn.net/HCHHC/article/details/116898916 三、绘制发展矩阵图 1添加线条 选择任意一个数据点(即系列全部的点,而不是某个单一的点),设置数据...
  • 数据探索_相关系数矩阵图绘制 data_temp = data_sample #相关系数矩阵绘制 def cor_matrix(cor): ax = plt.figure(figsize=(10,10)).add_subplot(111) col_num = len(cor) columns = cor.columns step = 0.0625*...
  • 主要介绍了详解pandas绘制矩阵散点(scatter_matrix)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • matlab矩阵绘图

    万次阅读 2018-01-04 19:13:38
    matlab将一个矩阵绘画成三维图像: mesh(m2(1:10000,1:10000)); 其中m2是一个矩阵,之后括号是要显示的矩阵的范围,有时候我们并不需要显示所有的矩阵。 图像保存: saveas(mesh(m1(1:10000,1:10000)),’m1.jpg...
  • 波士顿矩阵图制作--基于Excel

    千次阅读 2020-04-05 18:56:46
    波士顿矩阵图介绍: 波士顿矩阵根据市场增长率和市场份额两项指标,将企业所有的战略单位分为明星,金牛,瘦狗和幼童(问题)四大类型。并以此分析企业的产业竞争力,为科学选择企业战略提供参考。 一般图如下(百度...
  • python画热力图(相关系数矩阵图

    万次阅读 多人点赞 2018-05-08 16:40:00
    使用热力图的形式展示包括相关系数矩阵图的二维矩阵的方法,目前发现有两个:首先是使用pandas包的函数,但是pandas包的目测,不能显示数字?如果想试一下,可以参考https://zhuanlan.zhihu.com/p/26100511所以研究...
  • %输入混淆矩阵,绘制混淆矩阵图 %列的方向是真实值,行的方向是预测值 %或者说是x轴为真实标签,y轴是预测标签,原点在左上角 %返回值F1是每个类别的recall和precision的调和平均值,按行排列 %例如:f1=...
  • 矩阵图法就是从多维问题的事件中,找出成对的因素,排列成矩阵图,然后根据矩阵图来分析问题,确定关键点的方法,它是一种通过多因素综合思考,探索问题的好方法。 在行与列的展开要素中,要寻求交叉点时,如果能够...
  • python画混淆矩阵图

    2020-10-18 16:33:27
    1. 计算混淆矩阵 from sklearn.metrics import confusion_matrix # 导入计算混淆矩阵的包 ...2. 用seaborn的热力图画混淆矩阵图 import seaborn as sns #导入包 xtick=['1','2','3','4','5','6','7'
  • 出现这个状况主要是因为在使用matplotlib绘图时,语句的逻辑顺序有问题。 # 错误的语句顺序 ... 错误的语句顺序对应的混淆矩阵图如下:   正确的语句顺序对应的混淆矩阵图如下:  
  • R语言相关性矩阵绘图

    2021-04-21 16:03:10
    不废话,直接放和代码啦! 一个能展示分布、散点、相关系数三个信息,很好用啦! install.packages('PerformanceAnalytics') chart.Correlation(X, histogram=TRUE, pch=19)
  • Excel图表8——矩阵图(散点图) 实例 原数据 一、计算平均值 二、插入图表 1.插入仅带数据标记的散点图(数据:满意度) 2.删除图例、网格线 3.调整横纵坐标范围 三、添加矩阵图的象限分割线 1.设置横...
  • 优先矩阵图也被认为是矩阵数据分析法,与矩阵图法类似,它能清楚地列出关键数据的格子,将大量数据排列成列阵,能够容易地看到和了解。与达到目的最优先考虑的选择或二者挑一的抉择有关系的数据,用一个简略的双轴的...
  • 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",...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,986
精华内容 40,794
关键字:

如何绘制矩阵图