# How to do polar plot correctly?

7 views (last 30 days)
John on 24 Jun 2014
Commented: John on 25 Jun 2014
The task is to plot each group in different symbol and color and show them at their "angle" location in polar plot. This script was used:
factor = 1.2 * 1e-3;
n = 7;
f = [400 200 -10 -200 -300];
symb = ['ro' 'bd' 'gs' 'm^' 'cv' 'r+' 'bx'];
figure('color','white')
hold on
for nn=1:n
t = (nn-1)*factor;
A = exp(-1i*2*pi*t*f);
[THETA,RHO] = cart2pol(real(A), imag(A));
polar(THETA,RHO,symb(nn))
end
hold off
However this was what it output. Obviously this is not correct, no polar graph and no color symbol. Something must be wrong.
Above, if no color used by using the script below, it plot as the second graph below:
symb = ['o' 'd' 's' '^' 'v' '+' 'x'];
Thank you for pointing out the mistake.

Dishant Arora on 24 Jun 2014
Edited: Dishant Arora on 24 Jun 2014
Define your symb a cell array that is
symb = {'ro' 'bd' 'gs' 'm^' 'cv' 'r+' 'bx'}
To know where you went wrong, check out the echo of following command at command window:
symb = ['ro' 'bd' 'gs' 'm^' 'cv' 'r+' 'bx']
##### 2 CommentsShowHide 1 older comment
John on 25 Jun 2014
I found out that the polar plot doesn't accept 'hold on' command. The script below plots perfect polar chart. But as soon as a 'hold on' is added, it became a non-polar plot.
Hope Mathworks can fix this and make it a real polar plot.
factor = 1.2 * 1e-3;
f = [400 200 -10 -200 -300];
figure('color','white')
t = 2*factor;
A = exp(-1i*2*pi*t*f);
[THETA,RHO] = cart2pol(real(A), imag(A));
polar(THETA,RHO,'ro')

### Community Treasure Hunt

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

Start Hunting!

Translated by