Boxchartの色をそれぞれ変える方法

3つの箱ひげ図を並べた状態で色をそれぞれ違う色にするにはどのようにすればよいでしょうか.
boxcolor = ["#4DBEEE", "#D95319", "#EDB120"];
data1 = rand(10,3);
figure;
hold on
for n = 1:3
b = boxchart(data1(:,n));
b.BoxFaceColor = boxcolor(n);
end
xticklabels({'A','B','C'})
この書き方だと3つの図が重なってしまいます.
↓の図の配置で色だけそれぞれ変えたいです.

답변 (2개)

covao
covao 2024년 1월 30일
편집: covao 2024년 1월 31일

1 개 추천

箱ひげ図を色分けして表示する場合、boxplotを使うとシンプルに記述できます。
boxplotは16進数カラーコードに対応していないため、プロットの色名で指定しています
以下は、boxplotで3つの箱ひげ図を色分け表示する例です。(生成AIを使用しています)
% データ生成
A = rand(10, 1);
B = rand(10, 1);
C = rand(10, 1);
% 箱ひげ図作成
figure
boxplot([A, B, C], 'Colors', ['r', 'g', 'b'],'Labels',{'A','B','C'});

댓글 수: 1

Atsushi Ueno
Atsushi Ueno 2024년 2월 3일
boxplot 関数を使うには Statistics and Machine Learning Toolbox 等の Toolbox が必要です。

댓글을 달려면 로그인하십시오.

Atsushi Ueno
Atsushi Ueno 2024년 2월 3일

0 개 추천

boxchart 関数に色を設定する機能 ('GroupByColor') がありますが考え方が少し違ってて、定義されたグループ毎の要素の色を設定する機能となっています。
下記の例ではこの機能は使っておらず、X座標の位置を変えて3回 boxchart 関数で描画した結果を重ねた形になっています。
boxcolor = ["#4DBEEE", "#D95319", "#EDB120"];
data1 = rand(10,3);
xdata = ones(10,1);
figure;
hold on
for n = 1:3
b = boxchart(xdata*n, data1(:,n));
b.BoxFaceColor = boxcolor(n);
end
xticks([1 2 3]);
xticklabels({'A','B','C'});

카테고리

제품

릴리스

R2023a

태그

질문:

2024년 1월 12일

답변:

2024년 2월 3일

Community Treasure Hunt

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

Start Hunting!