Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

exportgraphics

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

説明

exportgraphics(obj,filename) は、obj で指定されたグラフィックス オブジェクトの内容をファイルに保存します。グラフィックス オブジェクトは、任意のタイプの座標軸、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')

Figure contains an axes object. The axes object contains 5 objects of type line.

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

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

Figure contains an axes object. The axes object contains an object of type image.

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

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

Figure contains an axes object. The axes object contains an object of type line.

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

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

Figure contains an axes object. The axes object contains an object of type bar.

マルチページ PDF を作成するには、名前と値の引数 'Append'true に設定します。

たとえば、ライン プロットを作成し、座標軸の内容をファイル myplots.pdf に保存します。

plot([0 0.3 0.1 0.6 0.4 1])
ax = gca;
exportgraphics(ax,'myplots.pdf')

Figure contains an axes object. The axes object contains an object of type line.

次に、棒グラフを作成し、座標軸の内容を myplots.pdf の 2 番目のページとして保存します。

bar(1:10)
exportgraphics(ax,'myplots.pdf','Append',true)

Figure contains an axes object. The axes object contains an object of type bar.

放物線と 1 つのマーカーをプロットします。for ループの反復ごとにマーカーの位置を変更し、その変更をアニメーション GIF のフレームとして取得します。

x = -10:0.5:10;
y = x.^2;
p = plot(x,y,"-o","MarkerFaceColor","red");
for i=1:41
    p.MarkerIndices = i;
    exportgraphics(gca,"parabola.gif","Append",true)
end

Figure contains an axes object. The axes object contains an object of type line.

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

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

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

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

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

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

Figure contains an object of type heatmap.

座標軸の内容を保存するプロットとボタンを表示する 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。

  • heatmap チャートなどのスタンドアロンの可視化。

  • 関数 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'

Graphics Interchange Format (GIF)

'gif'

Portable Document Format (PDF)

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

'pdf'

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

'emf'

Encapsulated PostScript® (EPS)

'eps'

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

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

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

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

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

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

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

メモ

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

  • '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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

既存のファイルへの内容の追加。true または false として指定します。

このオプションは、以下の場合に便利です。

  • 内容を既存の PDF ファイルの最後のページとしてエクスポートする。複数のページを追加するには、Append オプションを使用して exportgraphics を複数回呼び出します。

  • 内容をアニメーション GIF ファイルの最後のフレームとしてエクスポートする。複数のフレームを追加するには、Append オプションを使用して exportgraphics を複数回呼び出します。

メモ

引数 Append を使用すると、座標軸の範囲が同じであるチャートから基本的なアニメーション GIF ファイルを作成できます。チャート間で座標軸の範囲が異なる場合は、axis('manual') を使用するか、または関数 xlimylim または zlim を使用して、チャートの作成時に座標軸の範囲を固定することを検討してください。

イメージやより詳細なグラフィックスのアニメーションを作成するには、imwrite を使用します。imwrite の使用の詳細については、アニメーション GIF を書き込むを参照してください。

既存のファイルの名前を指定した場合に Append オプションを false に設定すると、MATLAB はそのファイルの内容を新しい内容で上書きします。

このオプションでサポートされるのは PDF および GIF ファイルのみです。

保存されるグラフィックスの色空間。'rgb''gray' または 'cmyk' として指定します。

  • 'rgb' — トゥルーカラー RGB の内容をエクスポートします。

  • 'gray' — 内容をグレースケールに変換します。

  • 'cmyk' — 内容をエクスポートする前にシアン、マゼンタ、黄色、黒 (CMYK) に変換します。この色空間は EPS ファイルでのみサポートされます。

代替機能

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

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

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

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

バージョン履歴

R2020a で導入

すべて展開する