How to remove the y axis and tick marks but keep the tick label and axis label?

조회 수: 143 (최근 30일)
Adenine Koo
Adenine Koo 2020년 11월 6일
답변: Benjamin Kraus 2020년 12월 16일
May I know how to remove the y axis and tick marks (marked with red arrow), but keep its label ('Run Number') and tick labels (1 to 6) as in the plot below?
My code:
fwdSpikeX was attached as mat file
ItrNum_fwd = 6;
runstart = -40.948564603973250;
runend = 40.948564603973250;
binWidth = 5;
binRange = -42.5:5:42.5;
% For each fwd run, plot the spike firing positions as raster plot, subplot 5
subplot(3,2,5);
for ff = 1:ItrNum_fwd
NoSpikeFlag = isempty(fwdSpikeX{ff});
if ~NoSpikeFlag
plot(fwdSpikeX{ff}, ff, 'k.'); % Plot spikes as black dots along x axis
hold on
end % for NoSpikeFlag
end % for ff
x1 = runstart;
x2 = runend;
line([x1 x1], [0 ItrNum_fwd+1]); % Plot vertical line at runstart
hold on
line([x2 x2], [0 ItrNum_fwd+1]); % Plot vertical line at runend
hold on
axis([binRange(1) binRange(end) 0 ItrNum_fwd+1]);
ax = gca;
ax.Box = 'off';
ax.YDir = 'reverse';
ax.YTick = (1:1:ItrNum_fwd);
ax.YTickLabel = (1:1:ItrNum_fwd);
ax.XTick = (binRange(1):binWidth:binRange(end));
ax.XTickLabel = (0:binWidth:binRange(end) - binRange(1));
ax.TickDir = 'out';
ax.YLabel.String = ('Run Number');
ax.XLabel.String = ('Positions along X-axis');
drawnow
Thank you!
Here is my desired output:

답변 (1개)

Benjamin Kraus
Benjamin Kraus 2020년 12월 16일
You can remove the tick marks by setting the TickLength property on the axes to [0 0], but that will remove ticks from both the x and y axis, and unfortunately there is no way to remove the y-axis without also removing the tick labels.
Therefore, the best solution is to create your own tick labels, which is not as complicated as it sounds.
For example:
ax = axes;
plot(rand(100,1)+0.05,randi(6,100,1), '.')
ax.YLim = [0 7];
ax.YAxis.Visible = 'off';
ytickvalues = 1:6;
x = zeros(size(ytickvalues));
str = string(ytickvalues);
text(x, ytickvalues, str, 'HorizontalAlignment', 'right');
xline(0.05,'b')
box off

카테고리

Help CenterFile Exchange에서 Grid Lines, Tick Values, and Labels에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by