Why boxplot grouping variable plotted out of order?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Daniel Bridges
le 28 Fév 2018
Commenté : Walter Roberson
le 19 Oct 2018
Why is the grouping variable not plotted in the order I've listed it in my code? How do I make it plot sequentially? Please compare the figure with its code.

group = cell(1,2);
doseloop = 192;
for loop = 1:height(newvoldata{doseloop})
if strcmpi('blurred',newvoldata{doseloop}.DistributionType(loop))
switch newvoldata{doseloop}.StudyID(loop)
case {1,2,3,4,5,6,7,8,9,10,13,36} %12
group{2} = [group{2}; 'Grade 0'];
case {14,15,19,20,21,22,23,29,30,31,34,37,38,39} % 14
group{2} = [group{2}; 'Grade 1'];
case {11,12,16,17,18,25,26,27,28,32,33,35,40} % 13
group{2} = [group{2}; 'Grade 2'];
case 24 % 1
group{2} = [group{2}; 'Grade 3'];
otherwise
error('Our code didn''t work as planned.')
end
group{1} = [group{1}; newvoldata{doseloop}.Dose(loop)];
end
end
figure
boxplot(newvoldata{doseloop}.Volume(strcmpi('blurred',newvoldata{doseloop}.DistributionType)),group)
title([organofinterest,' Blurred DVH Comparison for 40 Pt Given GU Toxicity'])
ylabel('Percent Volumes receiving given dose, %')
0 commentaires
Réponse acceptée
Walter Roberson
le 28 Fév 2018
1 to 10 are Grade 0. 11 is Grade 2. If the labels are to be displayed according to numeric order of the source then that is going to result in Grade 0 then Grade 2 appearing, exactly as happens.
boxplot has no knowledge of how the data was computed. If you had rearranged the case order or scrambled the numeric order of the numbers within the case then the computed data would be the same and the display would be the same.
5 commentaires
Daniel Broullón
le 18 Oct 2018
Hi Walter. I have a similar problem. In my boxplot the categories are ordered according to the order of appearance in the categorical array. I would like to select a specific order. What can I do?
Walter Roberson
le 19 Oct 2018
Use the syntax
B = categorical(A,valueset,catnames)
The sorting will be by the value you associate in valueset, but the names will be what you give in catnames.
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!