How to make all but one axis visible on plot
조회 수: 47 (최근 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!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/648400/image.png)
댓글 수: 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에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!