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

21 visualizaciones (últimos 30 días)
悠暉 小島
悠暉 小島 el 12 de En. de 2024
Respondida: Atsushi Ueno el 3 de Feb. de 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つの図が重なってしまいます.
↓の図の配置で色だけそれぞれ変えたいです.

Respuestas (2)

covao
covao el 30 de En. de 2024
Editada: covao el 31 de En. de 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 comentario
Atsushi Ueno
Atsushi Ueno el 3 de Feb. de 2024
boxplot 関数を使うには Statistics and Machine Learning Toolbox 等の Toolbox が必要です。

Iniciar sesión para comentar.


Atsushi Ueno
Atsushi Ueno el 3 de Feb. de 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'});

Etiquetas

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!