clear;clc;
A=unifrnd(-.5,.5,10,10);
B=100*[A,0*A(:,1);0*A(1,:),0]
[m,n]=meshgrid(1:11);
surf(m,n,0*m,B,'linestyle',':');
%%%%%%%%%自定义颜色%%%%%%%%%%%
map=ones(199,3);
c=linspace(0,1)';
map(1:100,[2,3])=[c,c];
map(199:-1:100,[1,3])=[c,c];
colormap(map);
colorbar([-50,50]);
%%%%%%%%%%%%%%%%%%%%%%%%%%
view(2);axis ij
axis([1,11,1,11])
set(gca,'xtick',1.5:10.5,'xticklabel',char('A'+(0:9)'),'ytick',1.5:10.5,'yticklabel',{-39.3,-29.6,-17.7,-10.5,-2.4,8.7,14.9,27,37,44})
[m,n]=meshgrid(1.5:10.5);
%%%%%%%%显示百分比%%%%%%%%%%%%
text(m(:),n(:),cellfun(@(x)[num2str(x),'%'],num2cell(round(A(:)*100)),'UniformOutput',false),'HorizontalAlignment','center','color','b')
这是有位大神编的代码。出来的图如下
我现在想请教各位,哪个命令是将数据和颜色对应?另外这个命令在matlab7中可以出来如图,但在2012b中出来是三维的,而且不能显示百分比和colorbar。求教各位了。我现在想了解他的命令后把自己的矩阵画成这样。另外还有surf这个函数和pcolor函数画这个都能画出来么?有什么不同可以介绍一下吗?