新浪博客

[转载]MATLAB小技巧之利用MATLAB绘制矩阵色块图[引用]

2017-10-24 16:58阅读:

【例1】绘制网格线,网格中显示矩阵元素。
显示黑色文字:

>> 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];
>> XVarNames = {'xiezhh','heping','keda','tust','tianjin'};
>> matrixplot(x,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',XVarNames);

效果图1:
示意图1.jpg
根据矩阵元素值自动设置文字颜色:

>> matrixplot(x,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor','Auto','ColorBar','on');
效果图2:
示意图2.jpg

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

>> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor',[0.6,0.6,0.6],'ColorBar','on');
效果图3:
示意图3.jpg
方形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体

>> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on');
效果图4:
示意图4.jpg

椭圆形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体
>> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on','FigShape','e');
效果图5:
示意图5.jpg

圆形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体,上三角形式显示
>> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on','FigShape','c','FigStyle','Triu');
效果图6:
示意图6.jpg

六边形色块,根据矩阵元素值自动确定色块的大小和颜色,显示字体,下三角形式显示
>> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','on','FigSize','Auto','ColorBar','on','FigShape','h','FigStyle','Tril');
效果图7:
示意图7.jpg
表盘形色块,根据矩阵元素值自动确定色块的颜色,不显示字体

>> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Full','ColorBar','on','FigShape','d');
效果图8:
示意图8.jpg
【例3】读取真彩图片,绘制伪红外图。

>> I = double(imread('kids.tif'));
>> matrixplot(I,'DisplayOpt','off','colorbar','on','grid','off');

效果图9:
示意图9.jpg
最后贴上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])
%

我的更多文章

下载客户端阅读体验更佳

APP专享