MATLAB: Axis interval of scatter plot

axis intervalscatter plot

Is there a more intelligent method to specify the interval of the axis of a scatter plot?
fig1 = gscatter(x,y, 'k', '.')
ylim([-20 20]);
yticks([-20 -15 -10 -5 0 5 10 15 20]); % this works but I am looking for a better code
set(fig1, 'ytick', [-20:5:20]); % something like this?

Best Answer

Except ticks are property of the axes and gscatter as other plotting routines returns handle(s) to the object(s) it creates, not to the parent axes in which they're drawn.
If you didn't save the handle of the axes when you began, now's a good time to grab it...
hAx=gca; % get the handle of current axes and store it so can ensure using correct one later
set(hAx, 'ytick', [-20:5:20]);
With the new HG2 interface there's "dot" notation to get to the properties that can be a little friendlier some think than set but there are more sophisticated things one can do with set when dealing with multiple objects/values that make it useful to know and that the dot notation can't do. This isn't one of those cases, just commenting...