yyaxis: how to get matching ticks on left/right y-axis?
47 views (last 30 days)
Show older comments
In my script I have been using:
plotyy(x,y1,x,y2)
But now editor says "plotyy is not recommended, use yyaxis instead". Not a big issue, so I changed my script, but now left and right vertical axis have different number of ticks (in my case 6 ticks on the left y-axis, 7 ticks on the right y-axis).
So with "grid on" horizontal lines are properly connected to ticks of the left y-axis, but not to the ticks of the right y-axis. How can I fix this? With "plotyy" I always used "YLimits auto" and "YTickMode auto" and never had such problem...
0 Comments
Answers (2)
Andres
on 25 Jun 2022
Edited: Andres
on 27 Jun 2022
More than I like (major) grid lines in plots I hate grid lines that miss ticks on an axis or that connect to ticks at bad values – an insult to the eyes ;-)
You may have a look at my file exchange submission yyaxis tools that contains the function yytick to automatically align the ticks of both y-axes.
0 Comments
Ameer Hamza
on 10 Mar 2020
Edited: Ameer Hamza
on 10 Mar 2020
You can link the limits of both axes so that they remain the same
fig = figure();
ax = axes();
yyaxis right
linkprop(ax.YAxis, 'Limits');
plot(...); % plot on any of the axes
2 Comments
Ameer Hamza
on 10 Mar 2020
Yes, It will happen. The other alternative is just to let the axis unlinked.
See Also
Categories
Find more on Axis Labels in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!