How to make all but one axis visible on plot
56 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Eileen Lukens
le 9 Juin 2021
Modifié(e) : Adam Danz
le 14 Juil 2023
I want to make my plot with both Y axes visible, the bottom X axes visibile, but have the top X-axis invisible. I know you can set the 'XColor' to 'none' and both the top and bottom axes will become invisible. How do I make it so everything but the top axes is visible? Included below is what I would like to achieve. I'm doing this in a subplotting routine so I'm hoping to avoid anything that is hardcoded such as a white rectangle positioned to hide the top axis. Thanks!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/648400/image.png)
0 commentaires
Réponse acceptée
Adam Danz
le 10 Juin 2021
Modifié(e) : Adam Danz
le 14 Juil 2023
Another simple way is to use yyaxis to create two y axes but you'll ignore the right-side axes.
clf
ax = axes;
yyaxis(ax,'right')
ax.YTickLabels = '';
yyaxis(ax,'left') % * see footnote [1]
linkprop([ax.XAxis; ax.YAxis],'color'); % set axes colors to match
linkprop([ax.YAxis(1), ax.YAxis(2)],{'Limits','TickValues'}); % * see footnote [2]
box(ax,'off') % see footnote [3]
[1] It's important the you run yyaxis(ax,'left') after making changes to the right-side so that your plotting is all assigned to the left axes.
[2] This line links the y limits and ticks for the 2 y axes; otherwise you could remove the tick on the right using ax.YTick = [];
[3] You may need to call this line again after plotting or hold your axes using hold(ax,'on')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!