MATLAB: How to plot Nightingale Rose Chart in Matlab

MATLABnightingale rose chartpie chart

Hi all, I want to create a pie chart (Nightingale Rose Chart) Does anyone know how to do this?
TIM图片20190826150522.jpg
This pie chart is an example of what I would like to achieve.
Hopefully this makes it a bit clearer. Thanks in advance!

Best Answer

Hi,
In my understanding the pie charts you are trying to plot can be drawn using polarhistogram. From the figure you have attached I can see there are 6 bins in the polarhistogram object.
I am assuming you have the background figure that is similar to a map. So, you can generate the individual polarhistogram using below code:
close all
p = polaraxes;
polarhistogram(p,'BinEdges', linspace(0,2*pi,7),'BinCounts',[0.3 0.1 0.2 0.8 0.57 0.7]);
p.RLim = [0 1];
p.ThetaTick = [];
p.RTickLabel = {};
The ‘BinCounts’ parameter can be changed based on the values you have in each category.
For Adding Multiple polarhistogram you may use App Designer. In that you can add multiple Polar Axes on top of the figure that contains the map. For drawing polarhistogram you need to have the positions of the axes.
Currently for plotting Nightingale Rose Chart directly with a function is not supported. You may use App Designer for plotting separately every individual object.
You may refer to following for using App Designer: