Can't Get ThetaZeroLocation to Work Properly Using polarplot

20 views (last 30 days)
Hi all,
I have binaural audio measurements made with a head and torso simulator on a turntable. Impulse response were measured for 81 angles at 3° increments (so, 240° to 120° via 0°) to cover the maximum rotation of a human head (and beyond). So, the angle values are a vector ...
Angles = [240:3:357, 0:3:120]; % Vector of angle/azimuth positions
But when I try to plot with the zero location at 'top' (i.e., "north", "12 o'clock", etc.), it stays at the default of 'right. No other directions work either. My feeling is that the ordering of my angles vector is interfering, but I have no idea why - it plots how I'd like, just on its side.
The example here works fine:
... but not with my angle vector as the theta value, which is what leads me to think that's the issue. The full plotting code I'm using (with random numbers for simulated data) is ...
Angles = [240:3:357, 0:3:120]; % Vector of angle/azimuth positions
theta = deg2rad(Angles);
rho = rand(1,81);
ax = polaraxes;
ax.ThetaZeroLocation = 'top';
polarplot(theta,rho);
Many thanks in advance for any advice or suggestions people have. Cheers!

Accepted Answer

Adam Danz
Adam Danz on 4 Dec 2021
Edited: Adam Danz on 4 Dec 2021
You have to either hold the axes after setting ThetaZeroLocation or set ThetaZeroLocation after plotting. Otherwise, when you plot using polarplot it resets the properties.
Angles = [240:3:357, 0:3:120];
Angles = [240:3:357, 0:3:120]; % Vector of angle/azimuth positions
theta = deg2rad(Angles);
rho = rand(1,81);
ax = polaraxes;
ax.ThetaZeroLocation = 'top';
hold(ax, 'on') % <----------- hold
polarplot(theta,rho);
  4 Comments
Peter Beringer
Peter Beringer on 5 Dec 2021
Edited: Peter Beringer on 5 Dec 2021
Thanks both of you for giving me clarification on that. The weird thing is that after getting an answer, I then looked at some other plotting code of mine, I've always specified properties after the plotting function call. Why on earth I thought this needed to be specfied prior I'll never know (stupidity would be a good guess). Oh, well, live and learn ... haha.
Thanks again!

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D 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!

Translated by