m******t 发帖数: 164 | 1 【 以下文字转载自 Physics 讨论区 】
发信人: myjacket (马甲), 信区: Physics
标 题: 如何在Matlab中在image上叠加contours?
发信站: BBS 未名空间站 (Fri May 25 21:26:04 2007), 转信
不知道在哪问这个问题合适,列位在座的有类似的经验吗?
我的问题是不管先用image再用contour,或者是反过来,都不能同时
显示。尽管用了hold on让它们出到同一个figure上。郁闷。
先谢了。 | j*n 发帖数: 1205 | 2 没看太明白
hold on 不能?
猜测一下,你设置contour的颜色了?
【在 m******t 的大作中提到】 : 【 以下文字转载自 Physics 讨论区 】 : 发信人: myjacket (马甲), 信区: Physics : 标 题: 如何在Matlab中在image上叠加contours? : 发信站: BBS 未名空间站 (Fri May 25 21:26:04 2007), 转信 : 不知道在哪问这个问题合适,列位在座的有类似的经验吗? : 我的问题是不管先用image再用contour,或者是反过来,都不能同时 : 显示。尽管用了hold on让它们出到同一个figure上。郁闷。 : 先谢了。
| r****y 发帖数: 1437 | 3 我碰到过类似的问题,不过不是image,也许我的方法对你有参考价值
基本原理,在matlab无论三维还是二维平面图,其handle都是三维的。
你先画一个图出来,然后将其handle里面的z坐标设到一个别的值; hold; 再
开始画 第二张图,如果第一张图是底图,那么第第二张的z比第二张的z大就行了。
还有一个问题,这个colormap的问题,两张图用不同的colormap在matlab
里面比较麻烦。我的poor man's approach就是做contour的时候记住它的handle,
handle.child里面有每个contour line的handle, 直接将这些contour line
人为赋予不同的颜色值或者相同的颜色值(根据你的需要而定)。
俺们这行经常画些恶复杂的图,底图是世界地图,然后用contour shading代表
一个变量,contour lines代表另外一个变量,带箭头的streamlines表示二维速度场。
这种时候matlab就很不照了,操作起来相当麻烦,呵呵。
【在 m******t 的大作中提到】 : 【 以下文字转载自 Physics 讨论区 】 : 发信人: myjacket (马甲), 信区: Physics : 标 题: 如何在Matlab中在image上叠加contours? : 发信站: BBS 未名空间站 (Fri May 25 21:26:04 2007), 转信 : 不知道在哪问这个问题合适,列位在座的有类似的经验吗? : 我的问题是不管先用image再用contour,或者是反过来,都不能同时 : 显示。尽管用了hold on让它们出到同一个figure上。郁闷。 : 先谢了。
| i**g 发帖数: 134 | 4 contour的线是画在z=0的面上的,低于你的image的z值
给contour加上一个较大的值,将z值抬升高过image可能可以解决
【在 m******t 的大作中提到】 : 【 以下文字转载自 Physics 讨论区 】 : 发信人: myjacket (马甲), 信区: Physics : 标 题: 如何在Matlab中在image上叠加contours? : 发信站: BBS 未名空间站 (Fri May 25 21:26:04 2007), 转信 : 不知道在哪问这个问题合适,列位在座的有类似的经验吗? : 我的问题是不管先用image再用contour,或者是反过来,都不能同时 : 显示。尽管用了hold on让它们出到同一个figure上。郁闷。 : 先谢了。
| r****y 发帖数: 1437 | 5 //hand, 所见略同。
【在 i**g 的大作中提到】 : contour的线是画在z=0的面上的,低于你的image的z值 : 给contour加上一个较大的值,将z值抬升高过image可能可以解决
| m******t 发帖数: 164 | 6 谢谢如此详细的解释。
可是,琢磨半天,仍不得要领:如何改z值?
我要做的是:
1) imagesc(x,y,my 2D image array);
然后有一个同样大小的2D的数值array对应于上面的image。
我用如下操作:
2)hold on;
contour(x,y,my 2D value array);
然后得到的figure只显示contours,image被覆盖了。用plot browser
可以看到两个objects。关掉任何一个可以看到另一个。可是就是不能同时
显示。
怎么办?
代表
【在 r****y 的大作中提到】 : //hand, 所见略同。
| a**a 发帖数: 63 | 7 change step 2) to:
2)hold on;
contour(x,y,my 2D value array,'r', 'linewidth',2); |
|