How to display the actual values of my percentages on a pie chart

62 views (last 30 days)
Hello everyone, this is a basic question for many of you and I would really appreciate if you can take the time and explain to me: How to display the actual values of my percentages on a pie chart and How to display percentage and labels on the pie chart.
TotalNumberOfCars = 75;
White = 34;
Black = 19;
Red = 12;
Silver = 2;
Grey = 3;
Other = 5;
% simple percentage
Per_White = White/ TotalNumberOfCars * 100
Per_Black = Black / TotalNumberOfCars * 100
Per_Red = Red / TotalNumberOfCars * 100
Per_Silver = Silver / TotalNumberOfCars * 100
Per_Grey = Grey / TotalNumberOfCars * 100
per_Other = Other/TotalNumberOfCars * 100
% The results 45.333, 25.333, 16, 2.666, 4
%I missed up somewhere
X = [34 19 12 2 3 5];
pie (X)
Labels = { 'White' , 'Black' , 'Red' , 'Silver' , 'Grey', 'Other'};
pie(X, Labels)
%I also tried to make the percentages as a vector
Y = [45.333, 25.333, 16, 2.666, 4];
pie(Y)
which produce mismatched percentages
  2 Comments
Walter Roberson
Walter Roberson on 20 Apr 2021
White = 34;
Black = 19;
Red = 12;
Silver = 2;
Grey = 3;
White + Black + Red + Silver + Grey
ans = 70
... Does not total 75. You need an "other" which is 75 minus the total.
LeoAiE
LeoAiE on 20 Apr 2021
Edited: LeoAiE on 20 Apr 2021
Hi Walter,
Thank you so much for responding I added ‘Other’ = 5 , and edited the code… and sorry about that by the way I was just making up data to get my question across. Back to the question, how to match the pie and the actual precentage ... Or I just got everything wrong / confusing myself :)

Sign in to comment.

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 21 Apr 2021
Edited: Scott MacKenzie on 21 Apr 2021
Is the central issue combining a text label with the percentage? If so, perhaps this will work:
X = [34 19 12 2 3 5];
Labels = {'White', 'Black' , 'Red' , 'Silver' , 'Grey', 'Other'};
xPercent = X / sum(X) * 100;
newLabels = [];
for i=1:length(X)
newLabels = [newLabels {sprintf('%s (%.1f%%)', Labels{i}, xPercent(i))}];
end
pie(X, newLabels);

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!