声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1972|回复: 7

[绘图技巧] Matlab坐标不等变

[复制链接]
发表于 2008-12-18 22:07 | 显示全部楼层 |阅读模式

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

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

x
如题,在论坛搜索了一下还是没有找到,
我想画一个图,但是中间一部分没有什么有用的信息,所以不想显示
只想显示其中一部分如:[1,2] [4,5] 这个区间的曲线,[2,3]之间不画出来而且坐标上也不要出现这段范围。


我都不知道我说清楚没有,请大家指教!

[ 本帖最后由 无水1324 于 2008-12-18 22:09 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-12-19 01:44 | 显示全部楼层

回复 楼主 无水1324 的帖子

好像没有现成函数可用!?
使用axes去控制左右两区间座标位置, axis去控制左右两区间y轴等范围, ...应该可以, 但好像有点烦!
我想若两段区间资料相当, 使用subplot控制左右即可, 只是中间有间隔! 但个人认为如此好像较容易判读图形!

[ 本帖最后由 ChaChing 于 2008-12-19 01:46 编辑 ]
发表于 2008-12-19 11:20 | 显示全部楼层
用个NaN不就得了?还想剪哪个剪哪个。
  1. x=-5:15;
  2. y1=x+5;
  3. x([4:11])=NaN;
  4. LineHandles=plot(x,y1,'--r',[-5:15],[-5:15]-3,'g');
  5. hSubLine1=findobj(LineHandles,'color','r');
  6. set(hSubLine1,'linewidth',2.5)
复制代码


至于坐标直接在gca中的xticklabel和xtick中改掉即可。

另外我的短消息功能怎么傻掉了,看不见别人的回复,你们是不是这样的?

[ 本帖最后由 bainhome 于 2008-12-19 11:22 编辑 ]

评分

1

查看全部评分

发表于 2008-12-19 11:59 | 显示全部楼层

回复 板凳 bainhome 的帖子

可能是个人对楼主的需求误解了! 我是想成左右两区间不能相离太远! 甚至使用小ss形状区间取代这大区间!
比如你的例子若为
x=-5:100; y1=x+5; x([4:95])=NaN;
LineHandles=plot(x,y1,'--r',[-5:100],[-5:100]-3,'g');
左右两区间不是离太远, 那干麻还这样画!
发表于 2008-12-19 12:04 | 显示全部楼层
恩,不错。 不过好像只实现了lz的一半要求啊,他应该是要求坐标轴上4-11这段都不存在
原帖由 bainhome 于 2008-12-19 11:20 发表
用个NaN不就得了?还想剪哪个剪哪个。x=-5:15;
y1=x+5;
x([4:11])=NaN;
LineHandles=plot(x,y1,'--r',[-5:15],[-5:15]-3,'g');
hSubLine1=findobj(LineHandles,'color','r');
set(hSubLine1,'linewidth',2.5)
...
发表于 2008-12-19 17:48 | 显示全部楼层
左右两区间不是离太远

给定的要求是[1,2]和[4,5],我估计这意思默认是不会太远。
不过好像只实现了lz的一半要求

没仔细看我的命令吧?我故意这样画的了。所以我才说想剪哪段剪哪段哦。看绿色曲线那条我是用什么命令画的?如果改成
  1. LineHandles=plot(x,y1,'--r',x,x-3,'g');
复制代码
再看看效果?

评分

1

查看全部评分

发表于 2008-12-19 21:58 | 显示全部楼层

回复 楼主 无水1324 的帖子

这个如何?
  1. clc
  2. clear
  3. close all
  4. x=-5:15
  5. y1=x+5
  6. x([4:11])=NaN;
  7. H1=subplot(1,2,1);
  8. plot(x,y1,'--r');
  9. H2=subplot(1,2,2);
  10. plot(x([1:3]),y1([1:3]),'g');
  11. hold on
  12. plot(x([12:end])-9,y1([12:end]),'g');
  13. hold on
  14. %plot([-3 -3],[2 11])
  15. set(H2,'XLim',[-5,6],'XTick',[-5,-3,6],'XTickLabel',{'-5','-3/6','15'});
复制代码

评分

1

查看全部评分

 楼主| 发表于 2008-12-21 14:58 | 显示全部楼层
哈哈哈
感谢,各位有点事情,几天没有来
先感谢各位我再一个一个看看你们的意见,感谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-25 20:17 , Processed in 0.065433 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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