既存の複数のグラフを1つのグラフにまとめる
164 views (last 30 days)
Show older comments
同じ様式で異なった数値に対して作成した図が9種類保存してあります。これをfigure 1-9として1つにまとめるにはどうしたら良いでしょうか?subplotは現在進行形で作成しているデータのみがサブプロットされるので使えませんでした。
1 Comment
Accepted Answer
Kenta
on 1 Jan 2020
figure
for i=1:size(x1,1)
subplot(3,2,i)
bar(x1(i,:),y1(i,:));hold on
end
こんにちは、データを添付していただきありがとうございます。
info=struct2table(dir);
name={info.name};
figure;
for i=3:numel(name{1})
hfig = open('LT12202019002 Ch02 unit a ftr1.fig');hold off
x1(i-2,:) = hfig.Children.Children.XData;
y1(i-2,:) = hfig.Children.Children.YData;
end
figファイルの添付で、データが直接受け取れなかったので、下のほうのコードでデータを取得しています。
上のコードでは、barの後のコマンドが、Saitoさまのものとは異なると思いますが、適宜、変更をお願いします。
複数のプロットはhold onとすれば、前のプロット情報を保持しながら、さらに新たなプロットを作ることができます。
さらに余白をちいさくしたい、などがあれば、このMatlab Answersの検索欄から、キーワード検索すれば出るので、いろいろとカスタマイズしてもらえると幸いです。
0 Comments
More Answers (2)
Saito
on 4 Jan 2020
1 Comment
Kenta
on 5 Jan 2020
for i=1:(グラフの数)
subplot(9,1,1)
bar(x1(1,:),y1(1,:));%x1の部分を適宜変更する
hold on
xlim([-250 800]);
xticks(-2500:100:800);
ylim([0 100]);
yticks(0:50:100);
end
上のように、グラフの数だけfor文で繰り返せばいいと思います。
今回は、質問者さまが、生データではなく、figファイルを添付されていたので、figファイルから生データの値を取り出すために関数openで図を開いてから棒グラフの値を取得しています。実際は、何かしらの変数やセンサーデータなどから値を取得しているはずで、x1の代わりにそちらの変数に書き換えていただければと存じます。
See Also
Categories
Find more on ライン プロット in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!