Box plotのボックス内の色を変更する方法

10 views (last 30 days)
KT
KT on 5 Apr 2020
Commented: KT on 10 Apr 2020
x = normrnd(5,1,100,1);
y = normrnd(6,1,100,1);
X = [x,y];
boxplot(X,'ColorGroup',[ ]);
とすると,BOX内の色を添付した例のように変更したい場合どのように変更しますか.
ColorGroupをどのように変更するのでしょうか.
よろしくお願い申し上げます.

Accepted Answer

Akira Agata
Akira Agata on 8 Apr 2020
R2020aでMATLABの基本関数に追加されたboxchartを使うのはいかがでしょうか?
たとえば以下のようにすると、Box内と外れ値のマーカー色をグレーに指定することができます。
figure
boxchart(x,'BoxFaceColor',[0.5 0.5 0.5],'MarkerColor',[0.5 0.5 0.5])
  1 Comment
KT
KT on 8 Apr 2020
ご回答ありがとうございます。
boxchartの方が簡便で分かりやすそうです.
MATLAB R2020aの導入も考慮したいと考えます.

Sign in to comment.

More Answers (1)

Etsuo Maeda
Etsuo Maeda on 8 Apr 2020
別解でPatchで頑張るという方法もあります
clear; close all; rng default;
x = normrnd(5, 1, 100, 1);
y = normrnd(6, 1, 100, 1);
boxplot([x, y], 'Color', [0 0 0], 'Symbol', 'o');
h = findobj(gca, 'Tag', 'Box');
% draw patch with color
for k = 1:length(h)
patch(get(h(k), 'XData'), get(h(k), 'YData'), [0.8 0.8 0.8], 'FaceAlpha', 0.8);
end
% send patch from front to back
ax = gca;
ax.Children = ax.Children([end 1:end-1]);
HTH
  3 Comments
Etsuo Maeda
Etsuo Maeda on 9 Apr 2020
% send patch from front to back
ax = gca;
ax.Children
ax.Children = ax.Children([end 1:end-1]);
ax.Children
として、何がCommand Windowに表示されているのか確認してみてください。
KT
KT on 10 Apr 2020
ご回答ありがとうございました。

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!