Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

intercept of secondary axis

Asked by 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

0 Comments

John

Tags

Products

No products are associated with this question.

2 Answers

Answer by Azzi Abdelmalek on 19 Jan 2013
Edited by Azzi Abdelmalek on 19 Jan 2013
Accepted answer

After plotyy add this:

yt=get(gca, 'ytick');
yt(1)=[];
set(gca,'ytick',yt)

4 Comments

Azzi Abdelmalek on 19 Jan 2013

I've edited the code, try again, if it don't work, post your code. And don't accept the answer before checking it

John on 19 Jan 2013

Hi,

Noting happened, no error either.

My code is:

plotyy(x,y1,x,y2,'plot');
Azzi Abdelmalek on 19 Jan 2013

please, post the code (allows copy past).

Azzi Abdelmalek
Answer by Azzi Abdelmalek on 19 Jan 2013
Edited by 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 on 19 Jan 2013

It will be helpful if you post your code

John on 19 Jan 2013

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 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

Azzi Abdelmalek

Contact us