プロットをイメージまたはベクトル グラフィックス ファイルとして保存
座標軸ツール バーのエクスポート ボタン を使用するか、関数 exportgraphics
を呼び出して、プロットをイメージ ファイルまたはベクトル グラフィックス ファイルとして保存することができます。2 種類のコンテンツのいずれにするかを決めるときには、画質、ファイル サイズ、ファイルを配置するドキュメントの形式要件を考慮します。
イメージはほとんどのアプリケーションでサポートされます。図形イメージおよび複雑な表面を表す場合に便利です。ただし、ピクセルで構成されているため、印刷時にスケーリングが適切に処理されない場合、または解像度の異なるデバイスで適切に表示されない場合があります。場合によっては、画質の要件を十分に満たす解像度でイメージを保存する必要があります。ファイルの解像度が高くなるほどサイズがより大きくなる傾向があるため、電子メールでの共有またはサーバーへのアップロードが困難になることがあります。また、アーティファクトを発生させずにイメージ内のラインおよびテキストを編集することが困難になる場合もあります。
ベクトル グラフィックス ファイルには、ライン、曲線および多角形を描画するための命令が含まれます。単色のライン、曲線および領域で構成されるコンテンツを表す場合に便利です。これらのファイルには、任意のサイズにスケール可能な高画質のコンテンツが含まれます。しかし、一部の複雑すぎる表面またはメッシュ プロットは、ベクトル グラフィックスを使用して表すことができません。ベクトル グラフィックス ファイルの幅広い編集をサポートするアプリケーションもあれば、グラフィックスのサイズ変更のみをサポートするアプリケーションもあります。
プロットをイメージまたはベクトル グラフィックス ファイルのいずれで保存するかにかかわらず、ファイルを保存する前に MATLAB® の Figure 内でコンテンツを確定すると最良の結果が得られます。
プロットの対話的保存
対話型コントロールを使用してプロットを保存するには、座標軸ツール バーのエクスポート ボタン を使用します。このツール バーは、座標軸の右上隅にカーソルを合わせると表示されます。エクスポート ボタンでは 3 種類のイメージ形式 (PNG、JPEG、TIFF) と PDF ファイルがサポートされています。PDF ファイルには座標軸の内容に応じてイメージまたはベクトル グラフィックスを含めることができます。
たとえば、棒グラフを作成します。チャートをファイルに保存するには、座標軸ツール バーのエクスポート ボタン にカーソルを合わせて、ドロップダウン リストの最初の項目を選択します。
bar([1 11 7 8 2 2 9 3 6])
MATLAB で [名前を付けて保存] ダイアログ ボックスが開き、ファイル形式のオプションが表示されます。
エクスポート ボタンを使用してプロットを保存すると、出力は、凡例またはカラー バーを含めた座標軸コンテンツの周囲に合わせて厳密にトリミングされます。出力には、座標軸外部のコンテンツ (Figure 内の他の座標軸など) は含まれません。
Figure のタイル表示チャート レイアウトに複数のプロットがある場合は、ツール バーをレイアウトに移動して、すべてのプロットをまとめて保存することができます。ツール バーを移動するには、入力引数として TiledChartLayout
オブジェクトを指定して関数 axtoolbar
を呼び出します。次に、ツール バーのエクスポート ボタンにカーソルを合わせます。このツール バーは、レイアウトの右上隅にカーソルを合わせると表示されます。
プログラムによるプロットの保存
プロットをプログラムにより保存するには、関数 exportgraphics
を使用します。保存されたコンテンツは、座標軸周囲の余白が最小限になるよう厳密にトリミングされます。すべての UI コンポーネントと、パネルなどの隣接するコンテナーは、保存されるコンテンツから除外されます。関数 exportgraphics
は、3 種類のイメージ形式 (PNG、JPEG、TIFF) と、ベクトルとイメージ コンテンツの両方をサポートする 3 種類の形式 (PDF、EPS、EMF) をサポートしています。PDF 形式ではフォントの埋め込みがサポートされています。
たとえば、棒グラフを作成して、現在の Figure を取得します。次に、この Figure を PNG ファイルとして保存します。ここでは、出力解像度を 300 ドット/インチ (DPI) に指定します。
bar([1 11 7 8 2 2 9 3 6]) f = gcf; exportgraphics(f,'barchart.png','Resolution',300)
R2020a より前: exportgraphics
の代わりに、saveas
または print
を使用してください。
ファイル名に .pdf
、.eps
または .emf
のいずれかの拡張子を指定した場合、MATLAB は Figure の内容に応じて、イメージまたはベクトル グラフィックスを保存します。
名前と値のペアの引数 'ContentType'
を指定して、ファイルがイメージまたはベクトル グラフィックスのいずれを含むかを制御できます。たとえば、現在の Figure の内容を、ベクトル グラフィックスを含む PDF として保存します。
exportgraphics(gcf,'vectorfig.pdf','ContentType','vector')
Figure 内の複数のプロットを保存するには、タイル表示チャート レイアウトを作成し、TileChartLayout
オブジェクトを関数 exportgraphics
に渡します。たとえば、2 行 1 列のタイル表示チャート レイアウト t
を作成します。関数 nexttile
を呼び出してレイアウトに 2 つの座標軸を配置し、座標軸にプロットします。次に、関数 exportgraphics
を呼び出し、t
を最初の引数として指定して、両方のプロットを EPS ファイルとして保存します。
t = tiledlayout(2,1);
nexttile
plot([0 1 0 1])
nexttile
plot([1 0 1 0])
exportgraphics(t,'twoplots.eps')
保存したプロットを他のアプリケーションで開く
保存したプロットを、Microsoft® Word、LaTeX などの他のアプリケーションで開くことができます。
プロットを LaTeX ドキュメントに追加するには、まず関数 exportgraphics
を使用してプロットを EPS ファイルとして保存します。次に \includegraphics
要素を LaTeX ドキュメントに追加します。以下に例を示します。
\documentclass{article} \usepackage{graphicx} \begin{document} \begin{figure}[h] \centerline{\includegraphics[height=10cm]{twoplots.eps}} \caption{Plots from MATLAB} \end{figure} \end{document}
参考
nexttile
| tiledlayout
| exportgraphics
| copygraphics