分類器アプリ内の散布​図を自分で作る方法を​教えてください

分類器アプリ内の「散布図」を自分でも作りたのですが,やり方がわかりません.
データは分類器へインポートする形です.
応答子は3種類あります.応答子ごとに色を変えて2つの変数を散布図で表す方法を教えてください.
ファイル添付しております.
よろしくお願いします.

2 个评论

Hiro Yoshino
Hiro Yoshino 2024-2-20
(tabledata.mat の中身が全て "1" でしたが合っていますか?)
Tadafumi Sugi
Tadafumi Sugi 2024-2-21
失礼しました.
間違いです.こちらを使ってください.

请先登录,再进行评论。

回答(1 个)

scatter 関数かなと思いますが、いかがでしょうか?:
a = rand(20,2);
b = rand(20,2);
scatter(a(:,1),a(:,2));
hold on
scatter(b(:,1),b(:,2));
legend("a","b");

6 个评论

Tadafumi Sugi
Tadafumi Sugi 2024-2-21
これは,二つの変数に対して色分けされていると思うのですが,どうでしょうか?
もしそうであれば,違います.
私がやりたいことは変数への色付けではなく,応答子への色付けです.
前回のコメントへデータを新たに添付しているので,どうかよろしくお願いします.
label = categorical(x.Label);
Av_Ave = x.Av_Ave;
Av_AvCross = x.Av_AveCross;
x1 = Av_Ave(label=="E");
y1 = Av_AvCross(label =="E");
x2 = Av_Ave(label=="P");
y2 = Av_AvCross(label=="P");
x3 = Av_Ave(label=="R");
y3 = Av_AvCross(label=="R");
figure
h1 = scatter(x1,y1,"cyan");
hold on
h2 = scatter(x2,y2,"green");
hold on
h3 = scatter(x3,y3,"magenta");
legend("E","P","R")
できました.
変数が3つあるとき,forループで3通りの散布図を作りたいのですが,やり方がわかりません.
教えてください.
Tadafumi Sugi
Tadafumi Sugi 2024-2-21
こちらデータになります.
こんな感じはどうでしょうか?
  • tiledlayout - 複数 axes 配置
  • nexttile - 次の axis 配置
  • colormap - カラーマップ取得
X = randn(20,3); % サンプルデータ
Y = randn(20,3); % サンプルデータ
tiledlayout("flow");
cmap = colormap(); % 異なる色を用意
for k=1:3
nexttile
scatter(X(:,k),Y(:,k),[],cmap(80*k,:));
title(sprintf("scatter #%d",k));
end
Tadafumi Sugi
Tadafumi Sugi 2024-2-22
ありがとうございます.
勉強になりました.
forループを使用して、ラベル毎に分けた散布図を作成してみました。
load('tabledata.mat');
labels = unique(x.Label); %使用されているラベルの一覧を作成
figure;
for i = 1 : length(labels)
data = x(x.Label == labels(i), :); % テーブルデータから選択したラベルを持つデータを抽出
scatter(data.Av_Ave, data.Av_AveCross, 'DisplayName', labels(i)); % 散布図作成
hold on;
end
legend;

请先登录,再进行评论。

类别

Community Treasure Hunt

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

Start Hunting!