How to change boxplot filling with newer Matlab versions?

30 visualizzazioni (ultimi 30 giorni)
Hello,
I would like to change the filling of the boxplots
boxplot(y,'Labels',{'1','2','3'},'Color','k')
xlabel('X')
ylabel('Y')
title('XY')
Now I would like to fill each boxplot with a color like black, gray and dark grey.
So:
First Boxplot => black
Second BP=> gray
Third BP=> dark gray
Unfortunately the 'children' code won't work anymore.
Can you help me?
Thanks.
  3 Commenti
Max Behr
Max Behr il 18 Giu 2020
I did it like this:
h = findobj(gca,'tag','Box');
This selects only the box color :)
dpb
dpb il 18 Giu 2020
+1
The implementation leaves much to be desired...I had presumed the colors with the 'filled' option would work as one would expect -- who woulda' thunk they'd have broken it such that if use that, then can only get the narrow little boxes; the 'traditional' style and 'width' parameters are ignored.
Worth a bug/quality of implementation report.
Why it doesn't return a handle to the object also breaks any symmetry with other plotting routines -- TMW continues with the trend to less and less coherence in user interface design and implementation...making things act so differently from one to another so lessons learned aren't... :(

Accedi per commentare.

Risposte (1)

Mara
Mara il 18 Giu 2020
You can specify an array for the color, it should have the same size as the columns in y.
boxplot (y, 'Colors', ['k' 'r' 'b'], 'BoxStyle', 'filled');
or for your colors in rgb triplets:
boxplot (y, 'Colors', [0,0,0; 0.5 0.5 0.5; 0.3 0.3 0.3], 'BoxStyle', 'filled');

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by