How to display the actual values of my percentages on a pie chart
60 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 20 Avr 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.
Réponse acceptée
Scott MacKenzie
le 21 Avr 2021
Modifié(e) : Scott MacKenzie
le 21 Avr 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);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Pie Charts dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!