How do I turn off the grid in a polar plot?

Ned Gulley (view profile)

on 13 Jan 2011
Latest activity Commented on by Walter Roberson

on 3 Jan 2017

Ned Gulley (view profile)

For a normal MATLAB plot, I can turn the grid off and on with the grid command.
x = 1:10;
plot(x,sin(x))
grid on % now the grid is on
pause(1)
grid off % now it's off
But that doesn't work for a polar plot. Plus the grid is on by default. How do I turn it off?

Ned Gulley (view profile)

on 13 Jan 2011

It's a shame that it's not easier to do this, but here is a Solution that explains how to do it:
Here's the code provided in that Solution.
% create the polar plot, and store the line's handle
p = polar((0:99)*pi/100, (0:99)/100);
% find all of the lines in the polar plot
h = findall(gcf,'type','line');
% remove the handle for the polar plot line from the array
h(h == p) = [];
% delete all other lines
delete(h);
% If you want, use the following lines to remove the text.
% (I prefer to leave it in place)
% find and remove all of the text objects in the polar plot
% delete(findall(gcf,'type','text'))

Walter Roberson (view profile)

on 20 Jan 2011

% create the polar plot, and store the line's handle
p = polar((0:99)*pi/100, (0:99)/100);
%remove lines and text objects except the main line
delete(findall(ancestor(p,'figure'),'HandleVisibility','off','type','line','-or','type','text'));

Walter Roberson

Walter Roberson (view profile)

on 20 Jan 2011
Answer updated to avoid relying on gcf in case the plot is in a different figure.

Daniel Zuth (view profile)

on 3 Jan 2017

Use polarplot() instead polar() and grid off.

Walter Roberson

Walter Roberson (view profile)

on 3 Jan 2017
Yes, that is a good method for R2016a or later. polarplot() did not exist when the question was first posted in 2011.