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

19 ビュー (過去 30 日間)
悠暉 小島
悠暉 小島 2024 年 1 月 12 日
回答済み: Atsushi Ueno 2024 年 2 月 3 日
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 日
箱ひげ図を色分けして表示する場合、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 日
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'});

カテゴリ

Help Center および File Exchangeデータ分布プロット についてさらに検索

タグ

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!