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

26 visualizzazioni (ultimi 30 giorni)
悠暉 小島
悠暉 小島 il 12 Gen 2024
Risposto: Atsushi Ueno il 3 Feb 2024
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つの図が重なってしまいます.
↓の図の配置で色だけそれぞれ変えたいです.

Risposte (2)

covao
covao il 30 Gen 2024
Modificato: covao il 31 Gen 2024
箱ひげ図を色分けして表示する場合、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 Commento
Atsushi Ueno
Atsushi Ueno il 3 Feb 2024
boxplot 関数を使うには Statistics and Machine Learning Toolbox 等の Toolbox が必要です。

Accedi per commentare.


Atsushi Ueno
Atsushi Ueno il 3 Feb 2024
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'});

Tag

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!