MATLAB Answers

0

PlotYY X axis doubled

Asked by ACHOURI ANAS on 25 Jun 2013
Hello,
Can someone please let me know how can avoid to have the X axis doubled when i use the command PlotYY ?
I use PlotYY to plot two curves that have a different Y axis for each one, and the same X axis.
So my problem, is that the X axis appears twice in the graph, and then it is hard to read the X graduation.
Best,
Anas

  0 Comments

Sign in to comment.

3 Answers

Answer by Zhongxian pan on 19 Aug 2013

linkaxes(AX,'x');
set(AX(2),'XTickLabel',[]);

  0 Comments

Sign in to comment.


Answer by Leah
on 25 Jun 2013

you can turn it off by then you won't know if your xaxis consistent for each y axis. it's best to make them match
turn off (not advised)
[AX,H1,H2] = plotyy(...);
set(AX(2),'xticklab',[],'xtick',[])
make match
set(AX(2),'xtick',get(AX(1),'xtick'),'xticklab',get(AX(1),'xticklab'))

  3 Comments

Thank you very much, is it possible to move out the line axis too ? because even if the graduation is not doubled anymore, the X axis line is still doubled.
Leah
on 25 Jun 2013
the horizontal line or the tick marks?
the tick marks are not doubled anymore, but the horizontal line is still doubled at the bottom of the plot.

Sign in to comment.


Answer by Tom
on 25 Jun 2013

Moving one x axis to the top might make things clearer
AX = plotyy(...);
set(AX(2),'XAxisLocation','Top')

  3 Comments

thank you very much, it is a great idea, but the title become hidden by the x axis label on the top. is it possible to move the title label above the second X axis ?
Tom
on 25 Jun 2013
You can, though it might start to go off the top of the figure, so then you'd need to move the axes down (basically, it might get messy).
Try:
set(AX(2),'XAxisLocation','Top')
hTitle = title(AX(2),'Title String');
Pos = get(hTitle,'Position');
Pos(2) = Pos(2)*1.02; %increase the height by 2%
set(hTitle,'Position',Pos)
ok, thank you very much

Sign in to comment.