Show separate figures next to each other, not using "subplot"

14 ビュー (過去 30 日間)
monkey_matlab
monkey_matlab 2016 年 12 月 15 日
編集済み: Vivi 2023 年 3 月 17 日
Hello,
I wanted to know if there is a simple way to show multiple separate figures next to each other, without overlap. I tried using the following code:
clc;
clear;
close all;
f1 = figure('units','normalized','position',[0 0 .3 .3]);
f2 = figure('units','normalized','position',[0 0 .3 .3]);
movegui(f2,[300,0]);
f3 = figure('units','normalized','position',[0 0 .3 .3]);
movegui(f3,[600,0]);
I know that I can modify the "movegui" points, but I wanted to know if another solution exist, where I do not have to manually put in the points, and the separate figures will automatically appear next to each other without overlap.
Thanks.

採用された回答

Walter Roberson
Walter Roberson 2016 年 12 月 15 日
"I wanted to know if there is a simple way to show multiple separate figures next to each other, without overlap."
No.
  2 件のコメント
Walter Roberson
Walter Roberson 2016 年 12 月 15 日
It is not difficult to set the Position of the figures:
figs = [f1, f2, f3]; %as many as needed
nfig = length(figs);
frac = 1/nfig;
for K = 1 : nfig
old_pos = get(figs(K), 'Position');
set(figs(K), 'Position', [(K-1)*frac, old_pos(2), frac, old_pos(4)]);
end
but I would not call that "simple".
Vivi
Vivi 2023 年 3 月 17 日
編集済み: Vivi 2023 年 3 月 17 日
Rewrite Walter Roberson's answer,
%
% Reset the figure window location. Horizontal
%
figs = [fig_1, fig_2, fig_3, fig_4]
nfig = length(figs);
for K = 1 : nfig
old_pos = get(figs(K), 'Position')
set(figs(K), 'Position', [(K-1)*old_pos(3) old_pos(2) old_pos(3) old_pos(4)]);
end

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

その他の回答 (0 件)

カテゴリ

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

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by