How to use percentages in my wind rose

3 vues (au cours des 30 derniers jours)
Heidi Hirsh
Heidi Hirsh le 5 Fév 2019
I am trying to change my wind rose so that it shows percentages for each magnitude and direction instead of the number of data points (currently labeled as 1x10^4, 2x10^4, 3x10^4). This is the code I am currently using (where wspeed is windspeed (m/s) and wdir is direction in degrees):
pax = polaraxes;
polarhistogram(deg2rad(wdir(wspeed<20)),deg2rad(0:10:360),'FaceColor','red','displayname','15 - 20 m/s')
hold on
polarhistogram(deg2rad(wdir(wspeed<15)),deg2rad(0:10:360),'FaceColor','yellow','displayname','10 - 15 m/s')
polarhistogram(deg2rad(wdir(wspeed<10)),deg2rad(0:10:360),'FaceColor','green','displayname','5 - 10 m/s')
polarhistogram(deg2rad(wdir(wspeed<5)),deg2rad(0:10:360),'FaceColor','blue','displayname','0 - 5 m/s')
pax.ThetaDir = 'clockwise';
pax.ThetaZeroLocation = 'top';
legend('Show')
title('Wind')windrose.png

Réponse acceptée

Satoshi Kobayashi
Satoshi Kobayashi le 6 Fév 2019
Modifié(e) : Satoshi Kobayashi le 6 Fév 2019
numberOfMeasurement = sum(wspeed<20);
p = 1:10;
rticks(p/100*numberOfMeasurement)
rticklabels(strcat(string(p),'%'))
  3 commentaires
Heidi Hirsh
Heidi Hirsh le 6 Fév 2019
I apologize; I just realized your code is a lot closer than I realized. I think if I changed the wspeed<20 part to a number closer to my max (16.24 I think) then if might be very close to what I want. Thank you for your help!
Satoshi Kobayashi
Satoshi Kobayashi le 6 Fév 2019
I recommend you to add another line to set the r-axis limits in this method.
rlim([0 10/100*numberOfMeasurement])

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