yyaxis: how to get matching ticks on left/right y-axis?

47 Ansichten (letzte 30 Tage)
JarryG
JarryG am 10 Mär. 2020
Bearbeitet: Andres am 27 Jun. 2022
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...

Antworten (2)

Andres
Andres am 25 Jun. 2022
Bearbeitet: Andres am 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.

Ameer Hamza
Ameer Hamza am 10 Mär. 2020
Bearbeitet: Ameer Hamza am 10 Mär. 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 Kommentare
JarryG
JarryG am 10 Mär. 2020
Yes I can, but it does not look well if curve1 has values 0-7 and curve2 0-600...
Ameer Hamza
Ameer Hamza am 10 Mär. 2020
Yes, It will happen. The other alternative is just to let the axis unlinked.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Two y-axis finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by