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

74 visualizaciones (últimos 30 días)
JarryG
JarryG el 10 de Mzo. de 2020
Editada: Andres el 27 de Jun. de 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...

Respuestas (2)

Andres
Andres el 25 de Jun. de 2022
Editada: Andres el 27 de Jun. de 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 el 10 de Mzo. de 2020
Editada: Ameer Hamza el 10 de Mzo. de 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 comentarios
JarryG
JarryG el 10 de Mzo. de 2020
Yes I can, but it does not look well if curve1 has values 0-7 and curve2 0-600...
Ameer Hamza
Ameer Hamza el 10 de Mzo. de 2020
Yes, It will happen. The other alternative is just to let the axis unlinked.

Iniciar sesión para comentar.

Categorías

Más información sobre Two y-axis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by