compass plot

9 views (last 30 days)
nur
nur on 12 Oct 2011
Answered: Abby Skofield on 4 Oct 2024
i would like to know how to rotate the compass so that 0 value is on the top (y-axis).when im plotting compass 0 value is on the right(x-axis).i want to make 0 value on y-axis.

Accepted Answer

Abby Skofield
Abby Skofield on 4 Oct 2024
Starting in R2024b, the compassplot function can be used in place of compass to create arrows eminating from the origin of a polar axes. The PolarAxes class (introduced in R2016a) has many properties and several functions you can use to customize its appearance. Note that compassplot can be combined in a PolarAxes with other plots like polarhistogram, polarplot, polarscatter, etc.
t = linspace(pi/3,2*pi,10);
cp = compassplot(t,sin(t)); % new in R2024b
pax = gca % get a handle to the PolarAxes
pax =
PolarAxes with properties: ThetaLim: [0 360] RLim: [0 1] ThetaAxisUnits: 'degrees' ThetaDir: 'counterclockwise' ThetaZeroLocation: 'right' Use GET to show all properties
pax.ThetaZeroLocation = "top";

More Answers (2)

Grzegorz Knor
Grzegorz Knor on 12 Oct 2011
view(-90,90)
  1 Comment
Miguel Gil Mast
Miguel Gil Mast on 15 Mar 2016
Edited: Miguel Gil Mast on 15 Mar 2016
Adding to Grzegorz Knor's comment, I used the following to rotate my compass (see attached pictures)
view([+90 -90]);
This is what Bruce Raine's script does also only that he saves the inputs as az and el first

Sign in to comment.


Bruce Raine
Bruce Raine on 8 Feb 2012
Try this code, the above code has the signs around the wrong way.
az = 90; % azimuth i.e. rotate around z-axis horizontally by 90 degrees
el = -90; % elevation negative, effectively looking beneath plot
view(az, el);

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!