I ran your code and see your problem: the high frequency grid lines make it impossible to read the ticks and hard to see the plot.
You should be able to solve this issue using "Minor Ticks", which is exactly what you are looking for--a smaller tick that has no label, but will allow you to manipulate the size of the grid to your desire. Keep in mind that this functionality was introduced in MATLAB R2015b.
Minor ticks are associated with each axis of the axes. So you can specify a range of minor ticks for the XAxis and the YAxis. After you specify your tick values, make sure you write `grid minor` to make the grid follow the minor ticks!
Here is an example based on your attached code:
figure
plot( [-1 1] , [ -1 1] )
set(gca,'Xtick',-1 : .25 : 1);
set(gca,'Ytick',-1 : .25 :1);
ax = gca;
ax.XAxis.MinorTickValuesMode = 'manual';
ax.XAxis.MinorTickValues = -1:.025:1;
ax.XAxis.MinorTick = 'on';
ax.YAxis.MinorTickValuesMode = 'manual';
ax.YAxis.MinorTickValues = -1:.025:1;
ax.YAxis.MinorTick = 'on';
grid minor;
Hope this helps!
Best Answer