声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3341|回复: 10

[绘图技巧] contour函数绘图下的legend处理

[复制链接]
发表于 2010-5-19 16:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如题。
问题就是想把LEGEND,那个圈圈的,变成直线,怎么处理呢?
1.jpg
回复
分享到:

使用道具 举报

发表于 2010-5-19 19:06 | 显示全部楼层

好奇怎么变圈圈的!? :@L
预设不就是直线?:@)

[ 本帖最后由 ChaChing 于 2010-5-19 19:15 编辑 ]
 楼主| 发表于 2010-5-20 14:38 | 显示全部楼层

回复 沙发 ChaChing 的帖子

不是,是用等高线画的,也就是说,修改legend函数问题了吧?怎么修改呢
发表于 2010-5-20 16:06 | 显示全部楼层

回复 板凳 purple_paradise 的帖子

可否给齐代码?
 楼主| 发表于 2010-6-2 16:46 | 显示全部楼层

回复 地板 ChaChing 的帖子

画这个图的程序很长,但是这个圈圈出现的,是contour 函数画的,legend 全部都是 圈圈的,就是想把这个圈圈变成 线
发表于 2010-6-2 22:03 | 显示全部楼层

回复 5楼 purple_paradise 的帖子

我的表达能力或许有问题!? 使用下式
plot(rand(5,1)); legend('beta')
预设不就是直线了?:loveliness:

还有程序很长, 不必全给出, 仅需画图所用的代码!:loveliness:
 楼主| 发表于 2010-6-7 09:43 | 显示全部楼层

回复 6楼 ChaChing 的帖子

[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z = X.*exp(-X.^2-Y.^2);
figure;contour(X,Y,Z,[-0.1 0.1]);
legend('z')
发表于 2010-6-7 22:08 | 显示全部楼层

回复 7楼 purple_paradise 的帖子

% I am not sure you want !?
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z = X.*exp(-X.^2-Y.^2);
figure;[cc,hh]=contour(X,Y,Z,[-0.1 0.1]);
hzz=get(hh,'Children')
legend(hzz,'xx','zz')
 楼主| 发表于 2010-6-7 22:50 | 显示全部楼层

回复 8楼 ChaChing 的帖子

太感谢了,哈哈,最近忙一篇文章,没过来,谢谢,太感谢啊,
 楼主| 发表于 2010-6-12 09:57 | 显示全部楼层

回复 8楼 ChaChing 的帖子

大侠,我再问下,要是好几条这样的绘制在同一张图里面,这个就不好办了。。。
例如:
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z1= X.*exp(-X.^2-Y.^2);
Z2= X.*exp(-X.^2-Y.^2);
Z3= X.*exp(-X.^2-Y.^2);
figure;
contour(X,Y,Z1,[0.1 0.1]);hold on;
contour(X,Y,Z2,[0.1 0.1]);hold on;
contour(X,Y,Z3,[0.1 0.1]);hold on;
legend('1','2','3')
怎么办
还有就是,我的实际是这样的:我用一组输入画出图之后,换一组数据绘图,然后要把图放在同一张图里,这个时候legend 不好弄,怎么弄,您说的方法,只能对一个来说。。

[ 本帖最后由 ChaChing 于 2010-6-12 22:22 编辑 ]
发表于 2010-6-13 00:57 | 显示全部楼层
clc; clear
[X,Y] = meshgrid(-2:.2:2,-2:.2:3);
Z1= X.*exp(-X.^2-Y.^2); Z2= X.*exp(-X.^2-2*Y.^2); Z3= X.*exp(-X.^2-3*Y.^2);
figure; [cc,hh1]=contour(X,Y,Z1,[-0.1 0.1]); hold on;
[cc,hh2]=contour(X,Y,Z2,[-0.1 0.1],'-.'); [cc,hh3]=contour(X,Y,Z3,[-0.1 0.1],':');
hzz1=get(hh1,'Children'); hzz2=get(hh2,'Children'); hzz3=get(hh3,'Children');
hzz=[hzz1;hzz2;hzz3]; legend(hzz,'1_1','1_2','2_1','2_2','3_1','3_2')
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 15:41 , Processed in 0.066594 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表