Plot - Remove axis ticks but keep grid lines

113 views (last 30 days)
Hi,
I am producing a graph to view open source polysomnography data. I have several arrays in one plot window with an offset between them which is fairly standard. I wish to remove the y tick numbers as they aren't required and get in the way of some additional lables. I would like to also include some x and y axis gridlines.
I have implemented the following code below, however the 'set(gca,'ytick',[])' command makes the y gridlines not plot. How can I remove the ytick numbers on the y axis but keep the y gridlines?
Thanks in advance,
Christopher!
% Create a new empty figure
figure
% Remove y axis numbering
set(gca,'ytick',[])
% Set major Grid lines
ax.GridLineStyle = '--';
ax.GridColor = 'b';
ax.GridAlpha = 1;
grid on;
% Set minor Grid lines
ax.MinorGridLineStyle = '-';
ax.MinorGridColor = 'b';
ax.MinorGridAlpha = 0.5;
grid minor;

Accepted Answer

Cris LaPierre
Cris LaPierre on 28 Sep 2021
A couple things. You have discovered you have to have ticks to have a grid. However, labels are separate. Leave the ticks and remove the yticklabels.
Also, ax does not automatically refer to the axis properties. You must create ax as an axis object first for that to work. Your code is just creating a structure named ax.
Try this.
% Create a new empty figure
figure
ax = gca;
% Remove y axis numbering
yticklabels("")
% Set major Grid lines
ax.GridLineStyle = '--';
ax.GridColor = 'b';
ax.GridAlpha = 1;
grid on;
% Set minor Grid lines
ax.MinorGridLineStyle = '-';
ax.MinorGridColor = 'b';
ax.MinorGridAlpha = 0.5;
grid minor;
  1 Comment
Christopher McCausland
Christopher McCausland on 28 Sep 2021
Hi Cris,
That makes much more sense and works perfectly. Thank you!
Christopher

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!