Is it possible to use yticks only on one side?

조회 수: 51 (최근 30일)
Mr M.
Mr M. 2018년 10월 5일
댓글: jonas 2018년 10월 5일
Is it possible to use yticks only on one side? How to set?
  댓글 수: 5
Mr M.
Mr M. 2018년 10월 5일
simple code: imagesc(rand(100)), and you have ticks on all sides: left,right,top, bottom. How to remove yticks from right, and xticks from top?
Adam
Adam 2018년 10월 5일
I can't actually see any way to turn them off using sensible functionality. For the y ticks specifically you can use an ugly hack e.g.:
figure; imagesc( magic(25) )
yyaxis right
set( gca, 'YTick', [] )
set( gca, 'YColor', 'k' )
though I don't know a way to do it for the x axis and the above is horrible code. yyaxis is an ugly function since it gives no possibility to actually return the axis handle and instead just changes what is the current axes.

댓글을 달려면 로그인하십시오.

채택된 답변

jonas
jonas 2018년 10월 5일
편집: jonas 2018년 10월 5일
The yticks appear on both sides due to the box being 'on', so to say. Remove them by
box off
This will of course also remove the frame, so here is a bonus hacky solution for retaining the frame
imagesc(rand(100))
box off
ax=gca;
axes('position',ax.Position,'box','on','ytick',[],'xtick',[],'color','none')
  댓글 수: 2
Adam
Adam 2018년 10월 5일
Be careful with using 2nd axes though. You will lose the ability to zoom, pan, use the data cursor functionality etc, unless you hack around with it still further :( I've had to do this a few times and it's not much fun!
jonas
jonas 2018년 10월 5일
Seems like this should be an option for 'boxstyle', but currently there is only one option for 2D plots. In this specific case I think the extra axes is OK, because it is just an empty frame. You can still zoom if you have the primary axes as the current axes. You'd need to set the background transparent though
ax.Color='none'
so that the second axes is visible below the primary.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by