cboboc 发表于 2011-3-26 17:03

一幅图中怎样设置多个0坐标轴

本帖最后由 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')

qingqing5638 发表于 2011-3-26 21:32

可以实现吗?我只知道hold on这样做图,把x轴坐标设成空。或者得用别的作图工具。

ChaChing 发表于 2011-3-26 21:50

???
plotyy(t,x,t,z-2)

cboboc 发表于 2011-3-27 08:37

本帖最后由 cboboc 于 2011-3-27 08:38 编辑

回复 3 # ChaChing 的帖子

谢谢chaching,不过我要的不是这样的效果,我想这样:做成下面这幅图这样的,只不过每一个曲线的坐标都是0,而不是曲线较上一条曲线的距离

刘颖慧 发表于 2011-3-27 09:36

回复 3 # ChaChing 的帖子

看见你说的画垂线的方法,那在一个图上画四条等间距的垂线怎么画呢?

ChaChing 发表于 2011-3-27 12:50

回复 4 # cboboc 的帖子

好像看过类似的图, 就是一时没搜到!
旁边的没标誌吗? 就是没yticklabel?
若是的话, 或许使用strips可达到同样效果!

ChaChing 发表于 2011-3-27 12:51

回复 5 # 刘颖慧 的帖子

可否明确些!?

cboboc 发表于 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 ,而纵坐标均可设成一个固定的范围。

ChaChing 发表于 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=; strips(z,length(x1))
set(gca,'YTickLabel',[]); % set(gca,'YTickLabel',) % 或全为0

cboboc 发表于 2011-3-27 17:18

回复 9 # ChaChing 的帖子

哦对啊就是这样的效果啊!!!谢谢chaching,我赶快试试去{:{25}:}

刘颖慧 发表于 2011-3-28 09:33

回复 7 # ChaChing 的帖子

hh=axis;
xx=(hh(1)+hh(2))/2;
hold on;
plot(,,'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自己运行一下。

刘颖慧 发表于 2011-3-29 16:22

刘颖慧 发表于 2011-3-28 10:22 static/image/common/back.gif
回复 7 # ChaChing 的帖子

load iris.dat


是的 iris数据

ChaChing 发表于 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,一时没描述清楚,带来的不便还请见谅。
页: [1] 2
查看完整版本: 一幅图中怎样设置多个0坐标轴