声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4900|回复: 11

[绘图技巧] 如何将两个曲线的图例合并

[复制链接]
发表于 2011-6-7 09:39 | 显示全部楼层 |阅读模式

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

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

x
10个原始数据点,和这些点的拟合曲线在Axis中是两条曲线,现在要求将这两条曲线的图例合并在一起  ,就像 一个短线中间有个点 ,其中的点表示原始点的线型,曲线是拟合曲线的线型
请各位高人帮忙提供思路,谢谢!



无标题.png
回复
分享到:

使用道具 举报

发表于 2011-6-7 10:57 | 显示全部楼层
以前也遇到过类似的问题,还没想到解决办法,帮忙顶下!
等待高手帮忙解决。
发表于 2011-6-7 11:52 | 显示全部楼层
老话, 给齐一些粗略代码, 不然较浪费时间
发表于 2011-6-7 22:11 | 显示全部楼层
实在不行,就手动添加吧!
发表于 2011-6-7 23:30 | 显示全部楼层
???
clc; clear; x=0.5: 0.5: 5; y=erf(x); p=polyfit(x,y,6);
xi=0: 0.1: 5; yi=polyval(p,xi);
plot(x,y,'o',xi,yi,'-'); legend('original','fitting');
figure; plot(x,y,'o-',xi,yi,'-'); legend('Data');
发表于 2011-6-8 12:26 | 显示全部楼层
回复 5 # ChaChing 的帖子

请教一下,能不能让原始数据只显示数据的点,而不显示连线,而legend显示'o-'!这个我想了很长时间,也没想到怎么弄!
发表于 2011-6-8 22:39 | 显示全部楼层
回复 6 # wangyouyi 的帖子

这个我也没想到怎么弄!:@L
 楼主| 发表于 2011-6-9 11:12 | 显示全部楼层

很我的问题一样啊
难得,难得
发表于 2011-6-9 11:52 | 显示全部楼层
回复 8 # wgwhl 的帖子

哦 我以前遇到过这个问题 弄了下也没想到好的解决方法!
 楼主| 发表于 2011-6-9 12:37 | 显示全部楼层
ChaChing 发表于 2011-6-7 23:30
???
clc; clear; x=0.5: 0.5: 5; y=erf(x); p=polyfit(x,y,6);
xi=0: 0.1: 5; yi=polyval(p,xi);

呵呵,做了个假象,实现了需要显示的效果,代码如下:
  1. function legend_test
  2.     clc;
  3.     clear;
  4.     x=0.5: 0.5: 5;
  5.     y=erf(x);
  6.     p=polyfit(x,y,6);
  7.     xi=0: 0.1: 5;
  8.     yi=polyval(p,xi);
  9.     plot(x,y,'o',xi,yi,'-');
  10.     legend('original','fitting');
  11.     figure;
  12.     h = plot(x,y,'o-',xi,yi,'-');
  13.     set(h(1), 'Visible', 'off');
  14.     hold on;
  15.     h2 = plot(x, y, 'o');
  16.     set(h2, 'Color', get(h(1), 'Color'));
  17.     legend('Data');
  18. end
复制代码

评分

1

查看全部评分

发表于 2011-6-9 13:12 | 显示全部楼层
回复 10 # wgwhl 的帖子

这个方法很不错!
发表于 2011-6-9 15:17 | 显示全部楼层
在LZ的基礎下, 稍微引申下
  1. clc; clear;
  2. x1=0.5:0.5:5; y1=erf(x1); p1=polyfit(x1,y1,6); xi1=0:0.1:5; yi1=polyval(p1,xi1);
  3. x2=0.5:0.5:5; y2=exp(x2)/50; p2=polyfit(x2,y2,3); xi2=0:0.1:5; yi2=polyval(p2,xi2);
  4. hh = plot(x1,y1,'o-',xi1,yi1,'-',x1,y1,'o',x2,y2,'s-',xi2,yi2,':',x2,y2,'s');
  5. set(hh([1,4]), 'Visible', 'off');
  6. set(hh([2,3]), 'Color', get(hh(1), 'Color'));
  7. set(hh([5,6]), 'Color', get(hh(4), 'Color'));
  8. legend(hh([1,4]),'Data erf','Data exp');
复制代码
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-16 06:52 , Processed in 0.084760 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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