Boxplot for both x and y axis with different box widths.

66 vues (au cours des 30 derniers jours)
Gechang Cao
Gechang Cao le 30 Avr 2021
Commenté : Gechang Cao le 1 Mai 2021
How can we make a boxplot like the one below for both x and y data (the box widths of each group that are x-data related are different). I tried boxplot(X,Y, group) but it did not work.
boxplot for x- and y-data
  4 commentaires
Adam Danz
Adam Danz le 30 Avr 2021
Modifié(e) : Adam Danz le 30 Avr 2021
I missed that since BoxWidth is not mentioned on the documentation page for boxchart, however it is listed in the properties page.
Thanks, Benjamin.
Gechang Cao
Gechang Cao le 1 Mai 2021
Thanks for your nice suggestions! boxchart works

Connectez-vous pour commenter.

Réponse acceptée

Benjamin Kraus
Benjamin Kraus le 30 Avr 2021
Modifié(e) : Benjamin Kraus le 30 Avr 2021
The boxplot command creates a group of lines, so if you wanted to adjust the box widths you would need to manually adjust the XData properties on each line to move them to the desired locations.
The better alternative is to use the new boxchart command. The object created by the the boxchart command has a BoxWidth property, but I suspect you won't need it, because even when you specify x values, the boxes created by the boxchart command have uniform widths.
boxchart(randn(1000,1), 'BoxWidth', 0.3);
or
boxchart(randi(10,1000,1),randn(1000,1));
  4 commentaires
Adam Danz
Adam Danz le 30 Avr 2021
Thanks for the explanation, Benjamin.
I wonder what the logic is in converting numeric inputs to categorical under one syntax but not the other.
Gechang Cao
Gechang Cao le 1 Mai 2021
Thank you very much! Cool, the box widths now are controlled by some numbers. I tried some means but did not make it. The locations of x-data are also controlled by the real values not by even distance. Thanks a lot! This is really cool!!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by