How to display the actual values of my percentages on a pie chart
    39 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!