How to display the actual values of my percentages on a pie chart
62 views (last 30 days)
Show older comments
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
on 20 Apr 2021
White = 34;
Black = 19;
Red = 12;
Silver = 2;
Grey = 3;
White + Black + Red + Silver + Grey
... Does not total 75. You need an "other" which is 75 minus the total.
Accepted Answer
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)
See Also
Categories
Find more on Pie Charts in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!