How to use percentages in my wind rose

15 views (last 30 days)
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

Accepted Answer

Satoshi Kobayashi
Satoshi Kobayashi on 6 Feb 2019
Edited: Satoshi Kobayashi on 6 Feb 2019
numberOfMeasurement = sum(wspeed<20);
p = 1:10;
rticks(p/100*numberOfMeasurement)
rticklabels(strcat(string(p),'%'))
  3 Comments
Satoshi Kobayashi
Satoshi Kobayashi on 6 Feb 2019
I recommend you to add another line to set the r-axis limits in this method.
rlim([0 10/100*numberOfMeasurement])

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!