How to create two-dimensional boxplots

Hey all,
I would like to create a two-dimensional boxplot. So far I only managed to create 1D Boxplots with fixed x-value using boxchart. The result should be something like the below image:
On stackoverflow I found a solution for R and Python (matlplotlib), unfortunately I didn't find anything for Matlab.
R-solution
Python (matplotlib) solution
I would be happy if someone has a clever idea for the solution. Thanks in advance and best regards,
Tom

 Accepted Answer

x = rand(1,30);
y = rand(1,30);
tiledlayout(1,2)
nexttile
scatter(x,y,'filled','r');
nexttile
boxchart(median(y)*ones(size(x)),x)
hold on
boxchart(median(x)*ones(size(y)),y,"Orientation","horizontal")

1 Comment

Dear Kevin,
thank you for this very nice and easy solution!
Best regards,
Tom

Sign in to comment.

More Answers (1)

Have a look at this code:
It describes how to do 3D boxplots, if you only have one grouping, it would go down to 2D

1 Comment

Dear Constantino,
Thank you for your quick reply, unfortunately this does not work for the desired plot as I would like to display the information in x-direction as well.

Sign in to comment.

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!