[转载]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:
根据矩阵元素值自动设置文字颜色:
>>
matrixplot(x,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor','Auto','ColorBar','on');
效果图2:
【例2】绘制实值矩阵各元素对应的色块,通过不同的“参数/参数值”控制色块的形状、大小、颜色等属性。
方形色块,充满方格,灰白色字体
>>
matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor',[0.6,0.6,0.6],'ColorBar','on');
效果图3:
方形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体
>>
matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on');
效果图4:
椭圆形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体
>>
matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on','FigShape','e');
效果图5:
圆形色块,根据矩阵元素值自动确定色块的大小和颜色,不显示字体,上三角形式显示
>>
matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on','FigShape','c','FigStyle','Triu');
效果图6:
六边形色块,根据矩阵元素值自动确定色块的大小和颜色,显示字体,下三角形式显示
>>
matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','on','FigSize','Auto','ColorBar','on','FigShape','h','FigStyle','Tril');
效果图7:
表盘形色块,根据矩阵元素值自动确定色块的颜色,不显示字体
>>
matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'DisplayOpt','off','FigSize','Full','ColorBar','on','FigShape','d');
效果图8:
【例3】读取真彩图片,绘制伪红外图。
>> I =
double(imread('kids.tif'));
>>
matrixplot(I,'DisplayOpt','off','colorbar','on','grid','off');
效果图9:
最后贴上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])
%