Writting the angle on the tip of the arrow in compass function
5 views (last 30 days)
Show older comments
Ahmed Siddig
on 10 Jun 2018
Commented: Ahmed Siddig
on 11 Jun 2018
Hello,
am using the compass function to plot the direction of (x,y) vectors and i changed the degrees from [0 45 90 ...] to [E NE N ...] using
pax = gca;
angles = 0:45:360;
pax.ThetaTick = angles;
labels = {'E','NE','N','NW','W','SW','S','SE'};
pax.ThetaTickLabel = labels;
so in addition to that i want to write the angle of the vector on the tip of the arrow can you help me out?
thanks.
2 Comments
Walter Roberson
on 10 Jun 2018
Are you using the polar.m hack I posted at https://www.mathworks.com/matlabcentral/answers/404890-specify-regions-in-compass?s_tid=prof_contriblnk#comment_576975 ? I ask because compass() normally produces a cartesian axes which does not have a ThetaTickLabel property.
Accepted Answer
Walter Roberson
on 11 Jun 2018
[th, r] = cart2pol(x, y);
text(th, r, sprintfc('%d',round(th(:)*180/pi)))
Here I round the angle to the nearest degree.
More Answers (0)
See Also
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!