vincentsuen 发表于 2009-4-23 11:12

绘制任意区域的contour图?

matlab中的contour命令可以方便的生成二维云图,x、y坐标代表了数据点的位置,颜色的深浅代表数据点的数值。但其局限性在于,数据点位置信息需要用一个矩阵来提供,因此绘制出来的云图是一个方形的。请教如何才能绘制出任意区域的云图?如三角形、圆形、中国地图外形、建筑物外形等等。
附云图绘制的算例代码和图形。x=1:1:6;
y=1:1:14;
=meshgrid(y,x);
z=[2.44 2.78 3.46 4.55 3.43 2.72 2.46 2.46 2.72 3.43 4.55 3.46 2.78 2.44;
3.00 4.42 5.96 6.06 6.00 4.65 3.82 3.82 4.65 6.06 6.00 5.96 4.42 3.00;
2.31 2.54 3.87 6.25 3.89 2.51 2.24 2.24 2.51 3.89 6.24 3.87 2.54 2.30;
2.32 2.55 3.88 6.25 3.89 2.51 2.24 2.24 2.51 3.89 6.24 3.87 2.54 2.29;
3.07 4.46 5.97 6.05 6.00 4.65 3.82 3.82 4.66 6.06 6.00 5.94 4.37 2.93;
2.39 2.75 3.43 4.52 3.42 2.71 2.45 2.46 2.72 3.45 4.59 3.52 2.84 2.43;];
contourf(xx,yy,z,15);

[ 本帖最后由 ChaChing 于 2009-4-23 17:21 编辑 ]

flower1988 发表于 2011-3-23 14:42

怎么画呢?

sangting 发表于 2011-3-23 18:37

回复 1 # vincentsuen 的帖子

厉害!佩服,敬仰!!!

ChaChing 发表于 2011-3-23 23:26

本帖最后由 ChaChing 于 2011-3-23 23:27 编辑

vincentsuen 发表于 2009-4-23 11:12 http://www.chinavib.com/static/image/common/back.gif
...绘制出任意区域的云图...
或许利用设定nan即可达成!
页: [1]
查看完整版本: 绘制任意区域的contour图?