intercept of secondary axis

2 次查看(过去 30 天)
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