最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

exportgraphics

プロットまたはグラフィックスの内容をファイルに保存する

説明

exportgraphics(obj,filename) は、obj で指定されたグラフィックス オブジェクトの内容をファイルに保存します。グラフィックス オブジェクトは、任意のタイプの座標軸、Figure、Figure の子になることができるチャート、タイル表示チャート レイアウト、または Figure 内のコンテナーのいずれかにできます。結果のグラフィックスは、内容を囲む狭い余白に厳密にトリミングされます。

exportgraphics(obj,filename,Name,Value) は、ファイルを保存する追加のオプションを指定します。たとえば、exportgraphics(gca,'myplot.jpg','Resolution',300) は現在の座表軸の内容を 300-DPI イメージ ファイルとして保存します。

すべて折りたたむ

ライン プロットを作成して現在の座標軸を取得します。次に、座標軸の内容を JPEG ファイルとして保存します。

plot(rand(5,5))
ax = gca;
exportgraphics(ax,'LinePlot.jpg')

イメージを表示して現在の座標軸を取得します。次に、座表軸の内容を 300-DPI JPEG ファイルとして保存します。

I = imread('peppers.png');
imshow(I)
ax = gca;
exportgraphics(ax,'Peppers300.jpg','Resolution',300)

注釈が座標軸の境界からはみ出しているプロットを表示します。Figure の内容を PDF ファイルとして保存します。

plot(1:10)
annotation('textarrow',[0.06 0.5],[0.73 0.5],'String','y = x ')
f = gcf;
exportgraphics(f,'AnnotatedPlot.pdf')

棒グラフを表示して現在の座標軸を取得します。次に、座標軸の内容をベクトル グラフィックスのみを含む PDF として保存します。

bar([10 22 31 43])
ax = gca;
exportgraphics(ax,'BarChart.pdf','ContentType','vector')

2 つのプロットをタイル表示チャート レイアウトで表示します。次に、TiledChartLayout オブジェクトを関数 exportgraphics に渡して両方のプロットを PDF として保存します。

t = tiledlayout(2,1);
nexttile
plot([1 2 3])
nexttile
plot([3 2 1])
exportgraphics(t,'Layout.pdf')

レイアウト内のプロットのいずれか 1 つのみ保存する場合は、軸の戻り引数を使用して関数 nexttile を呼び出します。次に、座標軸を関数 exportgraphics に渡します。

ヒートマップ チャートを表示します。次に、チャートを透明な背景のベクトル グラフィックスのみを含む PDF として保存します。

h = heatmap(rand(10,10));
exportgraphics(h,'Hmap.pdf','BackgroundColor','none','ContentType','vector')

座標軸の内容を保存するプロットとボタンを表示する saveapp.m と呼ばれるプログラム ファイルを作成します。ボタンのコールバック関数では、関数 uiputfile を呼び出して、ファイル名と場所についてユーザーにプロンプトを表示します。次に、指定されたファイルの絶対パスを使用して関数 exportgraphics を呼び出します。

function saveapp
f = uifigure;
ax = uiaxes(f,'Position',[25 25 400 375]);
plot(ax,[0 0.3 0.1 0.6 0.4 1])
b = uibutton(f,'Position',[435 200 90 30],'Text','Save Plot');
b.ButtonPushedFcn = @buttoncallback;

    function buttoncallback(~,~)
        filter = {'*.jpg';'*.png';'*.tif';'*.pdf';'*.eps'};
        [filename,filepath] = uiputfile(filter);
        if ischar(filename)
            exportgraphics(ax,[filepath filename]);
        end
    end
end

関数 saveapp を呼び出してアプリを実行します。アプリで [Save Plot] ボタンをクリックすると、ダイアログ ボックスにファイル名と場所のプロンプトが表示されます。次に、座標軸の内容が指定されたファイルに保存されます。ボタンを含む座標軸を囲む領域は、ファイルに含まれません。

saveapp

入力引数

すべて折りたたむ

グラフィックス オブジェクト。次のオブジェクトのいずれかとして指定します。

  • AxesPolarAxesGeographicAxes オブジェクトなど、任意のタイプの座標軸。

  • 関数 figure または uifigure で作成された Figure。

  • Figure の子になることができるチャート。たとえば、heatmap チャートは Figure の子になることができます。

  • 関数 tiledlayout で作成されたタイル表示チャート レイアウト。

  • PanelTabButtonGroup オブジェクトなど、Figure 内のコンテナー。

領域の取得

exportgraphics は、指定されたオブジェクトの内容を取得します。ボタンやスライダーなどの UI コンポーネントは取得しません。

また、隣接コンテナーや子コンテナーも取得しません。たとえば、ライン プロットを含む Figure の隣接パネルにヒートマップが含まれている場合を考えます。

f = figure;
ax = axes(f,'Position',[0.1 0.1 0.4 0.8]);
plot(ax,[0 1])
p = uipanel(f,'Position',[0.55 0.1 0.4 0.8]);
heatmap(p,rand(10,5))

exportgraphics(f,'myfigure.png')
exportgraphics(p,'mypanel.png')

前のコードを実行すると、myfigure.png にはライン プロットが含まれますが、ヒートマップは含まれません。同様に、mypanel.png にはヒートマップが含まれますが、ライン プロットは含まれません。

ファイル名。ファイル拡張子を含む文字ベクトルまたは string スカラーとして指定します。filename に絶対パスが含まれない場合、MATLAB® は現在のフォルダーに保存します。ファイルの書き込み権限をもっていなければなりません。

以下の表に、サポートされるファイル形式とファイル拡張子 (大文字小文字を区別しない) を示します。

ファイル形式ファイルの拡張子

Joint Photographic Experts Group (JPEG)

'jpg' または 'jpeg'

Portable Network Graphics (PNG)

'png'

Tagged Image File Format (TIFF)

'tif' または 'tiff'

Portable Document Format (PDF)

ContentType'vector' に設定されている場合、PDF には組み込み可能なフォントが含まれます。

'pdf'

拡張メタファイル (EMF) (Windows® システムのみ)

'emf'

Encapsulated PostScript® (EPS)

'eps'

例: exportgraphics(gca,'myfile.jpg') は、現在の座標軸の内容を myfile.jpg という名前の JPEG ファイルに保存します。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: exportgraphics(gca,'myplot.jpg','Resolution',300) は、現在の座標軸の内容を 300-DPI イメージ ファイルに保存します。

EMF、EPS、PDF ファイルとして保存するときの、保存する内容のタイプ。次のいずれかの値を指定します。

  • 'auto' — MATLAB は、内容がベクトル グラフィックスかイメージかを制御します。

  • 'vector' — 任意のサイズに拡大できるベクトル グラフィックスとして内容を保存します。PDF ファイルを保存している場合は、組み込み可能なフォントがファイルに含まれます。

  • 'image' — ファイル内の 1 つ以上のイメージにコンテンツをラスタライズします。

メモ

JPEG、TIFF、および PNG ファイルでは 'vector' オプションはサポートされていません。

インチあたりのドット数 (DPI) の解像度。1 以上の正の整数として指定します。

ContentType'vector' の場合は、解像度を指定しても効果はありません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

背景色。'current''none'、RGB 3 成分、16 進数カラー コード、または色名として指定します。背景色により、座標軸またはチャート周囲の余白の色が制御されます。

  • 値が 'current' の場合、背景色は親コンテナーの色に設定されます。

  • 値が 'none' の場合、背景色は ContentType の値に応じて透明または白に設定されます。

    • 透明 — ContentType='vector' であるファイルの場合

    • 白 — イメージ ファイル、つまり ContentType='image' の場合

    • ContentType='auto' の場合、背景色は MATLAB により、保存する内容のタイプを判別するためのヒューリスティックな方法に従って設定されます。

  • あるいは、カスタム色または名前の付いた色を指定します。

カスタム色および名前の付いた色

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

代替機能

座標軸ツール バーの [エクスポート] ボタン にカーソルを合わせると、ドロップダウン メニューが表示され、内容をエクスポートするためのオプションが示されます。

  • : 内容を、余白なくトリミングしたイメージまたは PDF として保存します。

  • : 内容をイメージとしてコピーします。

  • : 内容をベクトル グラフィックスとしてコピーします。

R2020a で導入