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);
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'}

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));
legendLabelsEQ = {'EQ-USA', 'EQ-Turkey', 'EQ-EU', 'EQ-Italy', ...
'EQ-Greece', 'EQ-CAN'};
pie(hEQ, labels);
legend('labels', legendLabelsEQ, 'location', 'bestoutside');

Sign in to comment.

More Answers (0)




Community Treasure Hunt

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

Start Hunting!