How to extract one plot from multiple plots?

19 ビュー (過去 30 日間)
Romio
Romio 2020 年 7 月 7 日
コメント済み: Tony 2023 年 7 月 13 日
If I have subplot of 8 plots, How can I plot, say, the second plot on a seperate figure?
  1 件のコメント
Tony
Tony 2023 年 7 月 13 日
Did you find a way of it?
I am also looking for a way to do it.

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

回答 (1 件)

Tommy
Tommy 2020 年 7 月 8 日
Assuming you have the figure handle, how about something like this?
% setup
f = figure;
for idx = 1:8
ax = subplot(4,2,idx);
plot(ax, rand(5));
end
clear idx ax
% copy, using only f
N = 2; % number of subplot to copy
f2 = figure;
referenceAx = axes(f2, 'Visible', 'off'); % to steal the Position from
newAx = copyobj(f.Children(end+1-N), f2);
newAx.Position = referenceAx.Position;
delete(referenceAx)
Maybe creating the invisible temporary axes is unnecessary, just seemed like an easy way to get the default size. Of course you don't have to reposition the axes at all if you don't want. Or an alternative would be to copy each child of axes #2 to the new set of axes.

カテゴリ

Help Center および File ExchangeSubplots についてさらに検索

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by