boxplot with descending median

5 Ansichten (letzte 30 Tage)
Jonathan Gingrich
Jonathan Gingrich am 26 Aug. 2020
Bearbeitet: Adam Danz am 26 Aug. 2020
I am trying to plot my data (8376x35 array with 1x35 cell array of labels) in a 35 box boxplot and order the boxes in descending order based off of the median value of each column. I have seen a lot on ordering by grouping, but I don't believe I am dealing with specific groups as all are part of one group. I started by taking the median of each column , but if I sort that in descending order, I lose the equivalent sorting of the cell array. I tried converting the array to a table with the cell array as the variable names, but could not sort the table by median values of each column. How should I go about sorting my data so that I can plot it as a boxplot in descending order?

Akzeptierte Antwort

Adam Danz
Adam Danz am 26 Aug. 2020
Bearbeitet: Adam Danz am 26 Aug. 2020
Use the sort index to change the order of columns in your data.
% Create demo data
rng('default')
data = rand(8376, 35).*randi(100,1,35);
% Compute median of each column
med = median(data);
% Sort the columns of data by descending median order
[~, sortIdx] = sort(med,'descend');
dataDescend = data(:,sortIdx);
% Plot the results
boxplot(dataDescend)
If you want to label the orginal column order,
set(gca, 'XTick', 1:numel(med), 'XTickLabel', sortIdx)
xlabel('Original column order')

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by