How to make all but one axis visible on plot
35 次查看(过去 30 天)
显示 更早的评论
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!
0 个评论
采纳的回答
Adam Danz
2021-6-10
编辑:Adam Danz
2023-7-14
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')
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!