MATLABで新しいFigureを作成する方法は?
質問
通常、 MATLAB でプロットすると、常に同じ図に描画されます。新しい図形を描画するにはどうすればよいですか?
かなり初歩的であることは知っていますが、Google検索を使用して見つけることはできません。
解決
figure;
plot(something);
または
figure(2);
plot(something);
...
figure(3);
plot(something else);
...
etc。
他のヒント
「figure(1)、figure(2)、...」を実行中ほとんどの場合に問題を解決しますが、すべての場合に問題を解決するわけではありません。デスクトップ上に多数のMATLABフィギュアがあり、開いている数がコードを実行する前に時々異なると仮定します。提供された回答を使用して、これらの数字を上書きしますが、これは望ましくありません。簡単な回避策は、コマンド" figure"を使用することです。プロットする前に。
例:実行した以前のスクリプトのデスクトップに5つの数字があり、使用しています
figure(1);
plot(...)
figure(2);
plot(...)
デスクトップの図の上にプロットしました。ただし、コード
figure;
plot(...)
figure;
plot(...)
目的のプロットで図6と7を作成し、以前のプロット1〜5はそのままにしておきます。
注意すべきもう1つの点は、新しいプロットを開始するときに clf
(図をクリア)コマンドを使用することです。そうしないと、既存の図にプロットしている可能性があります( figure
コマンドだけでは不可能ですが、 figure(2)
を実行すると、すでに図が存在する可能性があります# 2)、複数の軸、またはちょっとおかしい軸。 clf
を使用して、ゼロから始めることを確認します。
figure(N);
clf;
plot(something);
...
すでに述べたように、 figure
は次のプロット用に新しい図を作成します。 figure
の呼び出し中に、構成することもできます。例:
figHandle = figure('Name', 'Name of Figure', 'OuterPosition',[1, 1, scrsz(3), scrsz(4)]);
この例では、ウィンドウの名前と、使用する画面に関連するウィンドウの外側のサイズを設定します。
ここで、 figHandle
は結果のFigureのハンドルであり、後で外観と内容を変更するために使用できます。例:
ドット表記法:
figHandle.PaperOrientation = 'portrait';
figHandle.PaperUnits = 'centimeters';
古いスタイル:
set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters');
ドット表記または set
のハンドルを使用して、印刷のオプションをここで構成します。
異なる名前の図のハンドルを保持することにより、複数のアクティブな図と対話できます。既存の図をアクティブとして設定するには、 figure(figHandle)
を呼び出します。これで新しいプロットが表示されます。
別の一般的なオプションは、単一のウィンドウに複数のプロットが必要な場合です
f = figure;
hold on
plot(x1,y1)
plot(x2,y2)
...
同じ(新しい)図に複数のデータセットをプロットします。
これと同じくらい簡単-
figure, plot(yourfigure);