Effacer les filtres
Effacer les filtres

Hi, is it possible to change the width of a box in boxplot if 'BoxStyle' is set to 'filled'?

76 vues (au cours des 30 derniers jours)
I have tried using 'Widths' but it doesn't seem to have any effect on the boxes themselves? Thanks, Rebecca
  3 commentaires
Tejas
Tejas le 22 Mar 2016
>> boxplot(MPG)
>> boxplot(MPG, 'Widths',34)
This works for me. Please do share your code.
MNouv
MNouv le 25 Sep 2017
Hello, I see that this post has not been solved and I have the same problem. The 'widths' command only changes the size of the median line, not of the box itself... Any idea how to fix this?

Connectez-vous pour commenter.

Réponses (1)

Giorgio Mirone
Giorgio Mirone le 15 Nov 2017
Try this:
a = get(get(gca,'children'),'children'); % Get the handles of all the objects
t = get(a,'tag'); % List the names of all the objects
idx=strcmpi(t,'box'); % Find Box objects
boxes=a(idx); % Get the children you need
set(boxes,'linewidth',10); % Set width
  1 commentaire
Ben Oeveren
Ben Oeveren le 2 Juin 2021
Or you can make a Patch on the same position. I find that more convienient. It is a same that Matlab has not used a Patch in the first place. It would improve the posibilities.
box_h = findobj(hb2,'Tag','Box');
for i = 1:length(box_h)
hp(i) = patch([box_h(i).XData],[box_h(i).YData],colors(i,:),'FaceAlpha',.2);
end
uistack(box_h,'bottom')

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by