蓝云天 发表于 2009-10-30 19:50

怎么取图的上下两部分放在一个图中

怎么取图的上下两部分放在一个图中各位大侠
       我想把一幅图的上下两部分取出来放在一副图中,怎么弄啊?
       比如:二维图像,y坐标为1到10,我想把y坐标1到3和6到10的部分取出来放在一副图中。x坐标不变
    谢谢

ChaChing 发表于 2009-10-30 20:34

回复 楼主 蓝云天 的帖子

不知有无误会LZ意思, 试比较下两图
load clown; clims = ; imagesc(X,clims); colormap(gray)
XX=X(,:); figure; imagesc(XX,clims); colormap(gray)

还有请勿重覆发帖! 版块不对会有管理员帮忙移动的!
原在matlab相同帖, 删除了, 勿见怪

[ 本帖最后由 ChaChing 于 2009-10-30 20:58 编辑 ]

蓝云天 发表于 2009-10-31 15:43

谢谢答复。
虽然是是把两部分拼一起了,但是拉伸的厉害呢,很不清楚。
我的意思是这样:一副图中有三条定义域相同的曲线,曲线1值域为 -0.1到0.3;曲线2值域为 -0.1到1.3;曲线3值域为 -16到-14;
我想把y轴 -13到 -1的部分拿掉,只留下 -1到2 和 -16到 -13的部分,中间拿掉的部分可以用省略号代替。
不知能否实现

ChaChing 发表于 2009-10-31 19:25

图像(image)才可使用2F建议的!
LZ说得好像有讨论过! 一时搜不到
建议考量使用subplot

buaadong 发表于 2009-11-12 16:07

你好!

       我也遇到和楼主同样的问题,查了很多资料和网页都没有找到解决方案,小弟不知楼主自己解决没有,怎么解决的?能否提供一下思路。
       小弟在此先表示一下感谢!

蓝云天 发表于 2010-3-7 17:56

呵呵,没有解决,就那么放着的,也没处理。希望有高手解答

xiezhh 发表于 2010-3-7 19:11

不知道这样是否符合楼主的要求
x = 0:0.1:2*pi;
y = sin(x);
h = plot(x,y);
x(y>-0.5 & y<0.5) = NaN;
y(y>-0.5 & y<0.5) = NaN;
set(h,'Xdata',x,'Ydata',y)

ChaChing 发表于 2010-3-7 20:29

真的年纪大, 记性差了! 我怎以为回覆了
参考官网看看
http://www.mathworks.com/matlabcentral/fileexchange/3668-breakaxis
http://www.mathworks.com/matlabcentral/fileexchange/21864-breakplot

蓝云天 发表于 2010-3-10 20:07

谢谢ChaChing主任,没想到需要这么复杂的程序啊,呵呵,自己慢慢研究研究

ziyao 发表于 2010-3-10 23:33

学习了,有空还得多去官网看看
页: [1]
查看完整版本: 怎么取图的上下两部分放在一个图中