声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4738|回复: 16

[图像处理] 一幅图中怎样设置多个0坐标轴

[复制链接]
发表于 2011-3-26 17:03 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 cboboc 于 2011-3-26 17:04 编辑

我的目的是想将几幅图画在一起进行对比,但是我想将每幅图在下移的过程中,每幅图的横坐标都是以y=0为横坐标轴,而不是以下移的距离为坐标轴,也就是在这幅图中,第二条曲线不是以-2为横坐标的,而也是以y=0为横坐标轴的。
我采用的代码:
n=1:512;
t=n.*0.02;
x=sin(t);
y=cos(2*t);
z=x+y;
plot(t,x,'r')
hold on
plot(t,z-2,'m')
QQ截图未命名.png
回复
分享到:

使用道具 举报

发表于 2011-3-26 21:32 | 显示全部楼层
可以实现吗?我只知道hold on这样做图,把x轴坐标设成空。或者得用别的作图工具。
发表于 2011-3-26 21:50 | 显示全部楼层
???
plotyy(t,x,t,z-2)
 楼主| 发表于 2011-3-27 08:37 | 显示全部楼层
本帖最后由 cboboc 于 2011-3-27 08:38 编辑

回复 3 # ChaChing 的帖子

谢谢chaching,不过我要的不是这样的效果,我想这样:做成下面这幅图这样的,只不过每一个曲线的坐标都是0,而不是曲线较上一条曲线的距离
QQ截图未命名.png
发表于 2011-3-27 09:36 | 显示全部楼层
回复 3 # ChaChing 的帖子

看见你说的画垂线的方法,那在一个图上画四条等间距的垂线怎么画呢?
发表于 2011-3-27 12:50 | 显示全部楼层
回复 4 # cboboc 的帖子

好像看过类似的图, 就是一时没搜到!
旁边的没标誌吗? 就是没yticklabel?
若是的话, 或许使用strips可达到同样效果!
发表于 2011-3-27 12:51 | 显示全部楼层
回复 5 # 刘颖慧 的帖子

可否明确些!?
 楼主| 发表于 2011-3-27 16:46 | 显示全部楼层
本帖最后由 cboboc 于 2011-3-27 16:50 编辑

回复 7 # ChaChing 的帖子

我看了下strips,我要的效果就是将图中0,0.25,0.5, 0.75.。。。。。。这些横坐,变成不是以0.25,0.5, 0.75为横坐标,而是均以0为横坐标的效果,就像是在一幅图中有很多个小的坐标轴,相邻的横坐标轴都是上下相差一定的距离,比如说2,但是不是subplot那样的效果,而是下图这样的,只是将横坐标都变成0 ,而纵坐标均可设成一个固定的范围。
QQ截图未命名.png
发表于 2011-3-27 16:59 | 显示全部楼层
回复 8 # cboboc 的帖子

n=1:512; t=n.*0.02;
x1=sin(t); x2=cos(2*t); x3=x1+x2;
z=[x1,x2,x3]; strips(z,length(x1))
set(gca,'YTickLabel',[]); % set(gca,'YTickLabel',[0,0,0]) % 或全为0
p1.jpg

评分

1

查看全部评分

 楼主| 发表于 2011-3-27 17:18 | 显示全部楼层
回复 9 # ChaChing 的帖子

哦对啊就是这样的效果啊!!!谢谢chaching,我赶快试试去
发表于 2011-3-28 09:33 | 显示全部楼层
回复 7 # ChaChing 的帖子

hh=axis;
xx=(hh(1)+hh(2))/2;
hold on;
plot([xx,xx],[hh(3),hh(4)],'r');
这个是看到你回复别人的画一条垂线的方法,我看了一下只在0,1之间的。
那么如果想画多条等间距的垂线该怎么画呢?
发表于 2011-3-28 10:22 | 显示全部楼层
回复 7 # ChaChing 的帖子

load iris.dat
x=iris(1:10,1:4);
for i=1:10
    plot(x(i,:),'r');
    plot(x(i,:),'go');
        hold on;
end
就是把这里面的所有绿色标注的点用竖线连起来。我的图传不上去,麻烦ChaChing自己运行一下。

点评

iris.dat ??  发表于 2011-3-29 13:12
发表于 2011-3-29 16:22 | 显示全部楼层
发表于 2011-3-30 00:03 | 显示全部楼层
回复 13 # 刘颖慧 的帖子

抱歉! 刚才发现LS把我高估了! 原来iris.dat是matlab自带的资料!
水平有限, 还没玩过fuzzy! 重申下, 每个人专业不同, 有时候说明或许好些
最简单的方式
load iris.dat; x=iris(1:10,1:4);
for i=1:10
    plot(x(i,:),'r'); plot(x(i,:),'go'); hold on;
end
for jj=1:4, plot(jj*ones(size(x,1)),x(:,jj),'b'); end
发表于 2011-3-30 17:01 | 显示全部楼层
回复 14 # ChaChing 的帖子

谢谢,不好意思ChaChing,一时没描述清楚,带来的不便还请见谅。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-16 09:26 , Processed in 0.070688 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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