声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3416|回复: 8

[绘图技巧] 如何使画图的m文件具有plot的和hold on,hold off连用的功能

[复制链接]
发表于 2006-8-20 08:40 | 显示全部楼层 |阅读模式

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

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

x
我想把两个画图的m文件画出的图都在一个图形中表现(代码:huatu1(2,3,4),hold on,huatu2((3,4,5),hold off),如plot和hold on ,off连用的效果.请问如何修改m文件,或在上述图形中修改

[ 本帖最后由 eight 于 2007-3-3 14:28 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-8-20 10:00 | 显示全部楼层
求助阿,那位高手帮下忙!!!!
发表于 2006-8-20 13:52 | 显示全部楼层
请把问题说明清楚

huatu1最好能够给出代码
 楼主| 发表于 2006-8-20 20:04 | 显示全部楼层
function huatu(a,b,c)
t=a:0.01:b;
y=sin(t);
switch  c
    case 1
        plot(t,y,'r');
    case 2
        plot(t,y,'b');
end
 楼主| 发表于 2006-8-20 20:11 | 显示全部楼层
huatu1和huatu2里的内容类似huatu的代码,如果运行: huatu(1,4,2),hold on,huatu(1,5,1),hold off   只会显示后面一个m文件画图形,我就是想问如何使这两个m文件的图形都画出
拜托!!!!!!
发表于 2006-8-21 10:21 | 显示全部楼层
每次Plot前把hold on 改为picture不知能否?!
 楼主| 发表于 2006-8-21 10:58 | 显示全部楼层
picture; huatu(1,4,2),;picture;huatu(1,5,1),这样吗?
运行后,说picture没定义
发表于 2006-8-23 21:46 | 显示全部楼层
两个function中,句柄是不一样的,这样是实现不了的
发表于 2006-8-24 01:38 | 显示全部楼层
如果硬要画,可以用如下代码:
  1. function huatu(a,b,c)
  2. clc
  3. t=a:0.01:b;
  4. y=sin(t);
  5. switch  c
  6.     case 1
  7.         if isempty(get(gcf,'currentaxes'))
  8.             hFig=plot(t,y,'r');
  9.         else
  10.             hOld=get(gca,'children');
  11.             hOldFig=get(get(hOld,'parent'),'parent');
  12.             figure;
  13.             plot(t,y,'r');
  14.             hNew=gca;
  15.             copyobj(hOld,hNew)
  16.             close(hOldFig)
  17.         end
  18.     case 2
  19.         if isempty(get(gcf,'currentaxes'))
  20.             hFig=plot(t,y,'b');
  21.         else
  22.             hOld=get(gca,'children');
  23.             hOldFig=get(get(hOld,'parent'),'parent');
  24.             figure;
  25.             plot(t,y,'b');
  26.             hNew=gca;
  27.             copyobj(hOld,hNew)
  28.             close(hOldFig)
  29.         end
  30. end
复制代码

command windows中运行:
  1. huatu(1,2,1)
  2. huatu(2,3,2)
复制代码

不过恕我直言,你解决这个问题的思路实在是原始得到了家,这样的问题有save/load两个命令,把多次case中的数据加叠存储起来,一次性画,可以不涉及对句柄的复杂操作,而只是数据变量在变动,不比你这样安全和简单?!

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-5 11:27 , Processed in 0.065466 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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