intercept of secondary axis

조회 수: 2 (최근 30일)
John
John 2013년 1월 19일
Hi,
Im plotting two lines using two axis. They are velocity and acceleration. My question is how can I make the 0 point on the two axis be at the same level? At the moment, the 0 on the secondary axis is inline with 50 on the primary axis.
plotyy(x,y1,x,y2,'plot');
Thank you

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 19일
편집: Azzi Abdelmalek 2013년 1월 19일
After plotyy add this:
yt=get(gca, 'ytick');
yt(1)=[];
set(gca,'ytick',yt)
  댓글 수: 4
John
John 2013년 1월 19일
Hi,
Noting happened, no error either.
My code is:
plotyy(x,y1,x,y2,'plot');
Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 19일
please, post the code (allows copy past).

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 19일
편집: Azzi Abdelmalek 2013년 1월 19일
Try this
close;
x=0:250;
y1=100*abs(sin(0.01*x)),
y2=10*cos(.04*x);
[ax,h1,h2]=plotyy(x,y1,x,y2,'plot');
yt=get(ax(1), 'ytick');
yt(1)=[];
set(ax(1),'ytick',yt)
  댓글 수: 5
John
John 2013년 1월 19일
All I have is 3 variables x, y1 and y2.
My code is: plotyy(x,y1,x,y2,'plot');
I'm trying to plot them on a graph with a secondary axis. But I need the the '0' point on both axis to be at the same level.
In the picture above, one axis is 50 and same level of the other axis is 0. I need the 0s inline.
Can this be done?
Thanks
Azzi Abdelmalek
Azzi Abdelmalek 2013년 1월 19일
편집: Azzi Abdelmalek 2013년 1월 19일
Ok, I get it now, use
ylim=get(ax(1), 'ylim');
ytick=get(ax(1), 'ytick');
set(ax(2),'ylim',ylim,'ytick',ytick)
but you will loose the negative part

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by