私は、ファイルを取得し、それらをプロットし、pdf(レターサイズ)を吐き出す、一般的にうまく実行されているプログラムを持っています。注釈を使用して、3 つのサブプロットのセットの上にタイトルを付け、ファイル情報と日付を含むフッターとして使用します。タイトルをページの上部に配置し、余白から余白まで埋めて中央に配置したいと思います。
プログラムを実行するには、「バッチ」モードと「インタラクティブ」モードの 2 つの方法があります。「インタラクティブ」モードでは、簡単なfigure()
コマンドで図を作成します。「バッチ」モードのときは、 で図を作成しますfigure('visible','off')
。注釈を作成するためのコマンドは次のとおりです。
annotation(obj.hFigure(f),'textbox',[0 0.9 1 0.1],...
'String',title,...
'HorizontalAlignment','center',...
'FontSize',18,...
'LineStyle','none',...
'FitBoxToText','off');
ここで、「obj.hFigure(f)」は、現在処理中の Figure の単なるハンドルです。ご覧のとおり、図を図の上部近くに配置し、テキストがボックスの下部からはみ出すようにします (ボックスが大きい場合)。
私の問題は、上記の注釈の余白にあります。バッチ モード (図は表示されません) では、テキストの両側に 10% ほどの余白ができ、レイアウトが台無しになります。インタラクティブ モード (図が表示される) では、余白が表示されません。テキストは端から端まで正しく流れます。
問題を次のように絞り込みました: バッチ モードでの ps 印刷に対して正しい応答を得ることができますfigure('visible','on')
。
propertyeditor(gcf);
plotbrowser(gcf);
各図がプロットされた後。これにより、プログラムの実行時間が約 2 倍になります (大したことではありません)。しかし、私が理解していないのは、これらの 2 つのコマンドが何を行うのか、drawnow
またはrefresh
何を達成しないのかということです!