MATLAB Answers

2

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

Asked by Ned Gulley on 13 Jan 2011
Latest activity Commented on by Walter Roberson
on 3 Jan 2017
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?

  0 Comments

Sign in to comment.

3 Answers

Answer by Ned Gulley on 13 Jan 2011
 Accepted Answer

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'))

  0 Comments

Sign in to comment.


Answer by Walter Roberson
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'));

  1 Comment

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

Sign in to comment.


Answer by Daniel Zuth on 3 Jan 2017

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

  1 Comment

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

Sign in to comment.