既存の複数のグラフを1つのグラフにまとめる

조회 수: 139 (최근 30일)
Saito
Saito 2019년 12월 29일
댓글: Kenta 2020년 1월 5일
同じ様式で異なった数値に対して作成した図が9種類保存してあります。これをfigure 1-9として1つにまとめるにはどうしたら良いでしょうか?subplotは現在進行形で作成しているデータのみがサブプロットされるので使えませんでした。
  댓글 수: 1
Kenta
Kenta 2019년 12월 31일
こんにちは、そのデータやコードを添付していただけませんか?subplotでもできそうな気がします。

댓글을 달려면 로그인하십시오.

채택된 답변

Kenta
Kenta 2020년 1월 1일
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の検索欄から、キーワード検索すれば出るので、いろいろとカスタマイズしてもらえると幸いです。
result.JPG

추가 답변 (2개)

Saito
Saito 2019년 12월 31일

Saito
Saito 2020년 1월 4일
有難うございます。図を作成することが出来ました。ただ、まだループの使い方がまだ良くわからず、添付したscriptの構文を作りました。これをループによって単純に出来ないでしょうか?
  댓글 수: 1
Kenta
Kenta 2020년 1월 5일
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の代わりにそちらの変数に書き換えていただければと存じます。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Title에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!