2005年10月12日

matlabで行列データを格子状に視覚化する方法

A = [1,0,0;0,1,0;0,0.5,0.7];      % 視覚化対象の行列
[x,y] = size(A);            % 行列の大きさを測る
colormap(gray); % カラーマップを白黒にする
pcolor([A,zeros(x,1);zeros(y+1,1)]);  % 行列サイズを1行1列を大きくしてプロット
colorbar; % カラーバーを表示
axis ij; % 左上が最小になるように変更
axis square; % 正方形になるように変更

pcolor(およびsurf)は、shadingがデフォルトのfacetedもしくはflatの場合、
各格子はその格子に接する最も小さいx-y座標の値に色をあわせ、
最後の行と列は無視される。
そのため、行列サイズを1行1列大きくしている。

pcolor.png

colormapのgrayは0から1にかけて黒から白になるが、
逆に白から黒にするには、grayの行列を上下逆にすればよい。
colormap( flipud(gray) );

gridの線を消すには
shading flat;



posted by xi at 00:14 | Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/8006097
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。