intercept of secondary axis

2 views (last 30 days)
John
John on 19 Jan 2013
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

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 19 Jan 2013
Edited: Azzi Abdelmalek on 19 Jan 2013
After plotyy add this:
yt=get(gca, 'ytick');
yt(1)=[];
set(gca,'ytick',yt)
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 19 Jan 2013
please, post the code (allows copy past).

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 19 Jan 2013
Edited: Azzi Abdelmalek on 19 Jan 2013
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 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 19 Jan 2013
Edited: Azzi Abdelmalek on 19 Jan 2013
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

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!