Filter löschen
Filter löschen

Circular bar graph in matlab

38 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

Kategorien

Mehr zu Labels and Annotations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by