24小时热门版块排行榜    

查看: 1796  |  回复: 2

zgrabbit504

铁杆木虫 (正式写手)

[求助] matlab中等值线的标注

matlab帮助中有个例子
CODE:
  [X,Y] = meshgrid(-2:.2:2,-2:.2:3);   
Z = X.*exp(-X.^2-Y.^2);  
[C,h] = contour(X,Y,Z);     
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)

意思是隔条标注等值线数值。

但如果把第三行程序改为
CODE:
  [C,h] = contour(X,Y,Z,20);

或者
CODE:
[C,h] = contour(X,Y,Z,v);

第四行程序中设定“TextStep”好像没效果,出来的图是每条等值线都标注~

请问能否在指定等值线条数后,再隔条(或者隔几条)标注等值线数值

谢谢~~

[ Last edited by zgrabbit504 on 2014-3-12 at 10:48 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Lifewaslikeaboxofchocolates.Youneverknowwhatyou'regoingtoget.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ju5200

木虫 (正式写手)

经过测试 设置了线条数目后再设置step属性便会无效
但是可以提供一个解决该问题的思路
请看程序:
CODE:
clear all;clc;
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);   
Z = X.*exp(-X.^2-Y.^2);  
[C,h] = contour(X,Y,Z,10);   
set(h,'ShowText','off')
hold on;
[C1,h1] = contour(X,Y,Z,5);
set(h1,'ShowText','on')

具体代码细节需要修改才能完善
2楼2014-03-12 17:15:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zgrabbit504

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by ju5200 at 2014-03-12 17:15:39
经过测试 设置了线条数目后再设置step属性便会无效
但是可以提供一个解决该问题的思路
请看程序:
clear all;clc;
= meshgrid(-2:.2:2,-2:.2:3);   
Z = X.*exp(-X.^2-Y.^2);  
= contour(X,Y,Z,10);     ...

谢谢,这确实是一种思路~
不过不能保证第二次画图的等值线刚好与第一次的部分等值线重合,对于等值线图的话,这个影响还不大。但如果是画等值线填充图(contourf),这样前后两个颜色块就不一样了,叠加的话颜色会有变化~
Lifewaslikeaboxofchocolates.Youneverknowwhatyou'regoingtoget.
3楼2014-03-12 18:12:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zgrabbit504 的主题更新
信息提示
请填处理意见