Changing bin edges on polar histogram

조회 수: 6 (최근 30일)
JVM
JVM 2018년 4월 17일
편집: Scott MacKenzie 2021년 5월 6일
Hi, I am making a polar histogram showing wind directions. I would like each bin to represent each tick rather than representing the directions between to ticks as shown below. How do I change that, so e.g. the bin representing North takes value from [337.5 : 22.5]?
  댓글 수: 1
Stephanie Reeves
Stephanie Reeves 2021년 4월 21일
I realize this was posted two years ago, but did you find the answer? I have the same problem. Currenting Googling and have come up with nothing. :/ Thank you!

댓글을 달려면 로그인하십시오.

답변 (1개)

Scott MacKenzie
Scott MacKenzie 2021년 5월 6일
편집: Scott MacKenzie 2021년 5월 6일
I suggest you work with bin edges in addition to the number of bins. Below are two examples. On the right, the bins are wind directions, as in your example, with the bins centered in each compass point.
% test data
y = 2*pi * rand(1,100);
tiledlayout('flow');
nexttile;
n = 8; % number of bins
binTheta = 360 / n;
edges = (0:binTheta:360) + binTheta/2;
edges = deg2rad(edges);
polarhistogram(y, edges);
nexttile;
n = 16; % number of bins
labels = { 'E', 'ENE', 'NE', 'NNE', 'N', 'NNW' 'NW', 'WNW', 'W', ...
'WSW', 'SW', 'SSW', 'S', 'SSE', 'SE', 'SES'};
binTheta = 360 / n;
edges = (0:binTheta:360) + binTheta/2;
edges = deg2rad(edges);
polarhistogram(y, edges);
ax = gca;
ax.ThetaTick = 0:binTheta:360;
ax.ThetaTickLabels = labels;

카테고리

Help CenterFile Exchange에서 Polar Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by