Number of registered results by the number of total experiments in a pie chart

1 view (last 30 days)
Hello Everyone,
I wonder if someone could help me with pie labels.
I have a vector of registered results, and I would show in the pie chart these numbers divided by the total cases.
I attached my beginner code, and truly hope someone will guide me.
Thanks in advance, and take care.
hEQ = [hEQUSA, hEQTurkey, hEQEU, hEQItaly, hEQGreece, hEQCAN];
sumhEQ = sum(hEQ);
figure()
labelsEQ = string(hEQ/sumhEQ);
legendLabelsEQ = {'EQ-USA', 'EQ-Turkey', 'EQ-EU', 'EQ-Italy', ...
'EQ-Greece', 'EQ-CAN'};
pie(hEQ, labelsEQ)
legend('labels', legendLabelsEQ, 'location', 'bestoutside')
For instance, hEQ is equal to [5 1 1 1 1 1]
so, sumhEQ is 10
and I would have labels like {'5/10', '1/10', '1/10', '1/10', '1/10', '1/10'}
Best.

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 20 Jul 2021
Edited: Scott MacKenzie on 20 Jul 2021
Here's one way to make the labels you want:
% test data
hEQ = [5 1 1 1 1 1];
% create labels for pie chart
total = sum(hEQ) * ones(1,length(hEQ));
s = sprintf('%d/%d ', [hEQ; total]);
labels = split(strtrim(s));
figure();
legendLabelsEQ = {'EQ-USA', 'EQ-Turkey', 'EQ-EU', 'EQ-Italy', ...
'EQ-Greece', 'EQ-CAN'};
pie(hEQ, labels);
legend('labels', legendLabelsEQ, 'location', 'bestoutside');
  2 Comments
Giuseppe Degan Di Dieco
Giuseppe Degan Di Dieco on 21 Jul 2021
Dear Scott,
many thanks for your kind help, I can firmly say you are a reference for the MATLAB Community.
What, to say then, I wish you all the best.
---
Giuseppe

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!