How to customise Polar Plots
Show older comments
I have data typically graphed as 'value (B) against angle (A)' as a plot (for angles -90 to 90) that I wish to graph as a polar plot. What command(s) can I write that'll graph this data with polar axes for angle as: -90 (on the left) to 90 (on the right) via 0 (below in the middle)?
2 Comments
Some detail is missing.
How do you want the tick labels to appear on the left side?
What do you want the top value (currently 180°) to be?
th = linspace(0, 2*pi, 360);
r = sin(2*th).^2;
figure
polarplot(th,r)
Ax = gca;
Ax.ThetaZeroLocation = 'bottom';
TTL = Ax.ThetaTickLabel
.
Sam Hurrell
on 4 Apr 2023
Accepted Answer
More Answers (1)
the cyclist
on 2 Apr 2023
Edited: the cyclist
on 2 Apr 2023
% Create plot
figure
theta = linspace(0,2*pi,25);
rho = 2*theta;
polarplot(theta,rho);
% Define a variable with the tick labels
thetaTickLabels = {'0°';'30°';'60°';'90°';'120°';'150°';'180°';'-150°';'-120°';'-90°';'-60°';'-30°'};
% Set theta how you want
set(gca,"ThetaZeroLocation","bottom", ...
"ThetaDir","counterclockwise", ...
"ThetaTickLabels",thetaTickLabels)
Note that while the axes are labeled in degrees, the default input is in radians. (That same page shows how to convert, if you need to.)
1 Comment
Sam Hurrell
on 4 Apr 2023
Edited: Sam Hurrell
on 4 Apr 2023
Categories
Find more on Polar Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




