R语言中有一个根据实值矩阵绘制色块图的程序(用于绘制相关系数矩阵图),可以用丰富的颜色和形状形象的展示矩阵元素值的大小。遗憾的是MATLAB中没有这样的函数,因此我就用MATLAB编写了一个matrixplot函数,下面给出示例和源码,与大家一起分享!
→九张图表←
用Matlab,增色你的报告!
〈本帖收录于〉——〖素质文库〗
(三大专题:〖Only one〗、〖On Spss〗、〖On Matlab〗)
〖绘 · Matlab〗利用MATLAB绘制置信区域
〖绘 • Matlab〗利用MATLAB绘制矩阵色块图
【例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);
——(论坛帖子代码怎么都编不上来,前4个代码可能要这么看了)
效果图1:
根据矩阵元素值自动设置文字颜色:
- >> matrixplot(x,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor','Auto','ColorBar','on');
效果图2:
【例2】绘制实值矩阵各元素对应的色块,通过不同的“参数/参数值”控制色块的形状、大小、颜色等属性。
方形色块,充满方格,灰白色字体
- >> matrixplot(x,'XVarNames',XVarNames,'YVarNames',XVarNames,'TextColor',
效果图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:
——源自Matlab技术论坛
http://www.matlabsky.com/thread-32849-1-1.html