Excelのデータのプロット

10人の個人に関するデータが5日分×3つの変数のexcelシートをインポートしたうえで、一人の個人の5日分に関する3つの変数をsubplotで3つのグラフにするにはどのようにしたらよいでしょうか。(1列目が、aaaaabbbbbcccccddddd.......(a,b,c,dは個人)となっていて、2列目ー4列目に対応する変数が入っている)

4 件のコメント

Atsushi Ueno
Atsushi Ueno 2021 年 5 月 22 日
編集済み: Atsushi Ueno 2021 年 5 月 22 日
下図のようなデータだと思いますが、宜しいでしょうか?特に日付情報の有無が判りませんでした。私は5日分のデータが5枚のシートに分かれているものと想定しました。
E E
E E 2021 年 5 月 22 日
ありがとうございます。説明不足で申し訳ございません。シートは1枚で、個人a, b, c ~がそれぞれ5行ずつあるデータを指していました。書いていただいたエクセルシートで、2-6行がa, 7-11行がb、、、、という感じです。そのうえで、例えばcに関して、変数1-3それぞれ3つグラフにしたいです。
Atsushi Ueno
Atsushi Ueno 2021 年 5 月 22 日
こういうことですね
E E
E E 2021 年 5 月 22 日
そうです。お手数おかけします🙇 ありがとうございます。

サインインしてコメントする。

 採用された回答

Atsushi Ueno
Atsushi Ueno 2021 年 5 月 22 日
編集済み: Atsushi Ueno 2021 年 5 月 22 日

1 投票

本回答に添付したEXCELファイルを読み込む事を例に説明致します。
下図の「データのインポート」、「選択のインポート」をそれぞれクリックしてください。
 
上記ツールでExcelデータを取り込むと、”pdata”(ファイル名と同名の変数)がワークスペースに保存されます。
その後、下記スクリプトを実行します。コマンドプロンプトにコピペしても動きます。
person = categories(pdata.VarName1); % 個人リスト
pernum = numel(person); % 人数
varbls = pdata.Properties.VariableNames(2:end); % 変数リスト
varnum = numel(varbls); % 変数の数
for p = 1:pernum
figure('Name',person{p},'NumberTitle','off'); % 人数分の新しいfigureを開く
for var = 1:varnum
subplot(varnum, 1, var); % 変数の数分のsubplotを作成する
plot(table2array(pdata((pdata.VarName1 == person{p}), var+1)));
title(varbls(var)); % subplotのタイトル(変数名)
end
end

1 件のコメント

E E
E E 2021 年 5 月 25 日
無事出来ました。ループの設定の仕方などが良くわかっていなかったので非常に助かりました。お忙しいところ誠にありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

タグ

質問済み:

E E
2021 年 5 月 22 日

コメント済み:

E E
2021 年 5 月 25 日

Community Treasure Hunt

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

Start Hunting!