Circular bar graph in matlab

30 Ansichten (letzte 30 Tage)
SChow
SChow am 27 Jul. 2022
Beantwortet: Chunru am 27 Jul. 2022
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 Kommentar
Walter Roberson
Walter Roberson am 27 Jul. 2022
Sorry, there is no built-in function for that.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Chunru
Chunru am 27 Jul. 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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by