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

167 visualizaciones (últimos 30 días)
Saito
Saito el 29 de Dic. de 2019
Comentada: Kenta el 5 de En. de 2020
同じ様式で異なった数値に対して作成した図が9種類保存してあります。これをfigure 1-9として1つにまとめるにはどうしたら良いでしょうか?subplotは現在進行形で作成しているデータのみがサブプロットされるので使えませんでした。
  1 comentario
Kenta
Kenta el 31 de Dic. de 2019
こんにちは、そのデータやコードを添付していただけませんか?subplotでもできそうな気がします。

Iniciar sesión para comentar.

Respuesta aceptada

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

Más respuestas (2)

Saito
Saito el 31 de Dic. de 2019

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

Iniciar sesión para comentar.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!