Circular bar graph in matlab
30 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I have a table with two columns(headers- Country, Population) and 100 rows. I would like to plot a circular bar graph like in https://www.python-graph-gallery.com/circular-barplot-with-groups . Is there an inbuilt fucntion for it? Any help is appreciated.
1 commentaire
Réponses (1)
Chunru
le 27 Juil 2022
% Some data
T.Country = string(('A':'Z')');
T.Population = randi([1000 10000], size(T.Country));
T = struct2table(T);
n = height(T);
dtheta = 360/n; % sector for each country
gap = 0.1; % gaps betwen adjacent contries
npoints = 21; % npoints for each sector
figure; hold on;
for i=1:n
theta = linspace((i-1)*dtheta, (i-gap)*dtheta, npoints);
patch([0 T.Population(i)*cosd(theta)], [0 T.Population(i)*sind(theta)], 'b');
rtext = T.Population(i)+300;
text(rtext*cosd((i-.5)*dtheta), rtext*sind((i-.5)*dtheta), T.Country(i));
end
axis equal
axis off
0 commentaires
Voir également
Catégories
En savoir plus sur Polygons 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!