Writting the angle on the tip of the arrow in compass function

4 vues (au cours des 30 derniers jours)
Ahmed Siddig
Ahmed Siddig le 10 Juin 2018
Commenté : Ahmed Siddig le 11 Juin 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 commentaires
Walter Roberson
Walter Roberson le 10 Juin 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.
Ahmed Siddig
Ahmed Siddig le 11 Juin 2018
Am using the final piece of code you provided me with
set(gca, 'ThetaLim', [225, 315])
thank you very much for that. i have the angle value (V) i just want to make it on the tip of the arrow. much appreciated.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 11 Juin 2018
[th, r] = cart2pol(x, y);
text(th, r, sprintfc('%d',round(th(:)*180/pi)))
Here I round the angle to the nearest degree.
  1 commentaire
Ahmed Siddig
Ahmed Siddig le 11 Juin 2018
Thank you so much MR. Roberson. Sorry for troubling you.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Polar Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by