メインコンテンツ

mlreportgen.report.Figure クラス

名前空間: mlreportgen.report
スーパークラス: mlreportgen.report.Reporter

説明

タイトル、Figure、表題をもつ Figure レポーターを作成します。

mlreportgen.report.Figure クラスは handle クラスです。

クラス属性

HandleCompatible
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

説明

fig = mlreportgen.report.Figure は、MATLAB® で現在開かれている Figure のスナップショットを作成し、それをレポートに追加するレポーターを作成します。表題を追加したり、Figure のサイズを変更したりするには、Figure のプロパティを使用します。スナップショット イメージはレポートの一時フォルダーに保存されます。レポートを閉じると、スナップショット イメージがレポートにコピーされ、一時フォルダーからイメージが削除されます。スナップショット イメージ ファイルが削除されないようにするには、レポートの Debug プロパティを使用します。mlreportgen.report.Report を参照してください。

fig = mlreportgen.report.Figure(source) は、source で指定された Figure を追加し、Source プロパティを source に設定するレポーターを作成します。

fig = mlreportgen.report.Figure(Name=Value) は、名前と値の引数を使用してプロパティを設定します。複数の名前と値の引数を任意の順番で指定できます。

プロパティ

すべて展開する

Figure のソース。次として指定します。

  • 有効な Figure ファイルへのパスを示す文字ベクトルまたは string スカラー

  • 有効なグラフィックス ハンドル

属性:

GetAccess
public
SetAccess
public

スナップショット レポーター。mlreportgen.report.FormalImage オブジェクトとして指定します。スナップショット イメージの表題を指定したり、イメージのサイズをさらにカスタマイズしたりするには、FormalImage オブジェクトのプロパティを使用します。

メモ

レポーターは Snapshot プロパティを初期化します。このプロパティをリセットしないでください。

属性:

GetAccess
public
SetAccess
public

スナップショットのイメージ形式。次の形式のいずれかとして指定します。

インポート イメージ形式HTML でサポートWord でサポートPDF でサポート

PDF/A でサポート (R2025a 以降)

Windows® メタファイル (.emf)いいえはいいいえいいえ
Graphics Interchange Format (.gif)はいはいはいはい
JPEG イメージ (.jpg)はいはいはいいいえ
PDF (.pdf)いいえいいえはいいいえ
PDF/A (.pdf)いいえいいえはいいいえ
Portable Network Graphics (.png)はいはいはいはい
Scalable Vector Graphics (.svg)はいはいはいはい
TIFF イメージ (.tif)いいえはいはいはい

メモ

PDF レポート出力形式とは異なり、PDF/A 形式では PDF または PDF/A イメージを含めることはできません。PDF/A レポートにイメージを含めるには、この表に記載されているイメージ形式のいずれかを使用します。

属性:

GetAccess
public
SetAccess
public

データ型: char | string

スナップショット イメージのスケーリング オプション。"auto""custom"、または "none" として指定します。このプロパティは、イメージ ファイル内のスナップショット イメージのサイズを制御します。サポートされているスケーリング オプションは次のとおりです。

  • "auto" — PDF または Word (DOCX) 出力では、このオプションを使用して、縦横比を維持しながら、スナップショット イメージを現在のページ レイアウトに合わせてスケーリングします。まず、レポーターはスナップショット イメージをページ幅に合わせてスケーリングします。イメージの高さがページの高さを超える場合、レポーターはイメージを再度スケールダウンします。この追加のスケーリングにより、イメージは 1 インチの余白を残して現在のページに確実に収まります。スケーリングは HTML 出力には適用されません。

  • "custom" — このオプションを使用すると、Height プロパティと Width プロパティの値に基づいてスナップショット イメージをスケーリングできます。

  • "none" — スケーリングを実行しません。

メモ

"auto" および "custom" オプションは、MATLAB print コマンドを使用して Figure のサイズを変更します。Figure が大きすぎて指定のスペースに収まらない場合は、print コマンドによってスナップショット イメージがトリミングされます。トリミングを回避するには、Scaling プロパティを "none" に設定し、Snapshot プロパティで指定されたレポーターを使用してイメージのサイズを変更します。レポーターによってテキストのサイズを含むイメージ全体が縮小されるため、イメージを拡大しないと細かい部分が判読できない場合があります。Figure スナップショット イメージのサイズ変更を参照してください。

メモ

次のいずれかのプロパティ設定の組み合わせが発生すると、java.lang.OutOfMemoryError が発生する可能性があります。

  • Scaling"zoom" に設定され、Zoom プロパティ、MaxHeight プロパティ、および MaxWidth プロパティが大きな値に設定されている

  • Scaling"custom" に設定され、Height プロパティと Width プロパティが大きな値に設定されている

このエラーを回避するには、Scaling: zoom の場合、Zoom プロパティ、MaxHeight プロパティ、および MaxWidth プロパティに小さな値を使用します。Scaling"custom" に設定されている場合、Height プロパティと Width プロパティに小さな値を使用します。

データ型: char | string

スナップショット イメージの高さ。数値とそれに続く測定単位の略語を含む文字ベクトルまたは string スカラーとして指定します。たとえば、"2in" は 2 インチを指定します。既定のスナップショットは 6 インチです。有効な略語を以下に示します。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

メモ

PDF イメージでは、サイズ制限は幅、高さともに 10000 px です。その他のすべてのイメージ タイプでは、サイズ制限はスクリーン サイズになります。

例: "2in"

属性:

GetAccess
public
SetAccess
public

データ型: char | string

スナップショット イメージの幅。数値とそれに続く測定単位の略語を含む文字ベクトルまたは string スカラーとして指定します。たとえば、"2in" は 2 インチを指定します。既定のスナップショットの幅は 6.5 インチです。有効な略語を以下に示します。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

メモ

PDF イメージでは、サイズ制限は幅、高さともに 10000 px です。その他のすべてのイメージ タイプでは、サイズ制限はスクリーン サイズになります。

例: "2in"

属性:

GetAccess
public
SetAccess
public

データ型: char | string

スナップショットの背景色を保持するかどうか。数値または logical 1 (true) または logical 0 (false) として指定します。

  • true — スナップショットの背景色はスナップショット ソースの背景色と同じになり、Theme プロパティは無視されます。

  • false — スナップショットの背景色は Theme プロパティの設定に従います。

属性:

GetAccess
public
SetAccess
public

データ型: logical

R2025a 以降

スナップショットの印刷時に使用するグラフィックス テーマ。次として指定します。

  • "light" — Figure を白い背景と暗い色のグラフ線およびテキストで印刷します。

  • "dark" — Figure を暗い色の背景と明るい色のグラフ線およびテキストで印刷します。

グラフィックス カラーを手動で設定した場合、テーマの設定にかかわらず、スナップショットでは Figure と座標軸の背景色を除いてそれらの色が保持されます。PreserveBackgroundColor が true の場合、このプロパティは無視されます。

属性:

GetAccess
public
SetAccess
public

データ型: char | string

このレポーターのテンプレートのソース。次のいずれかの方法で指定します。

  • このレポーターのテンプレートを含むファイルのパスを指定する文字ベクトルまたは string スカラー

  • このレポーターが使用するテンプレートを含む、またはこのレポーターのテンプレートをテンプレート ライブラリに含む、レポーターまたはレポート

  • このレポーターが使用するテンプレートを含む、またはこのレポーターのテンプレートをテンプレート ライブラリに含む、ドキュメント オブジェクト モデル (DOM) ドキュメントまたはドキュメント パーツ

指定するテンプレートは、このレポーターを追加するレポートと同じタイプでなければなりません。たとえば、Microsoft® Word レポートでは、TemplateSrc は Word レポーター テンプレートでなければなりません。TemplateSrc プロパティが空の場合、このレポーターはレポートの出力タイプに既定のレポーター テンプレートを使用します。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

このレポーターのテンプレートの名前。文字ベクトルまたは string スカラーとして指定します。このレポーターのテンプレートは、このレポーターの TemplateSrc プロパティで指定されたテンプレートのテンプレート ライブラリになければなりません。

属性:

GetAccess
public
SetAccess
public

データ型: char | string

このレポーターのハイパーリンク ターゲット。リンク ターゲット ID を指定する文字ベクトルもしくは string スカラー、または mlreportgen.dom.LinkTarget オブジェクトとして指定します。文字ベクトルまたは string スカラー値は LinkTarget オブジェクトに変換されます。リンク ターゲットは、出力レポートでこのレポーターのコンテンツの直前にあります。

属性:

GetAccess
public
SetAccess
public

メソッド

すべて展開する

すべて折りたたむ

レポートに表面プロットの Figure を追加し、Figure の表題と高さを設定します。

import mlreportgen.report.*
surf(peaks);
rpt = Report('peaks');
chapter = Chapter();
chapter.Title = 'Figure Example';
add(rpt,chapter);

fig = Figure();
fig.Snapshot.Caption = '3-D shaded surface plot';
fig.Snapshot.Height = '5in';

add(rpt,fig);
delete(gcf);
rptview(rpt);

レポートに 2 つの Figure を追加します。ページ上でそれらを隣どうしに配置するには、DOM テーブル オブジェクトを使用します。

import mlreportgen.report.*
import mlreportgen.dom.*
rpt = Report('peaks');

surf(peaks(20));
figure = Figure();
peaks20 = Image(getSnapshotImage(figure,rpt));
peaks20.Width = '3in';
peaks20.Height = [];
delete(gcf);

surf(peaks(40));
figure = Figure();
peaks40 = Image(getSnapshotImage(figure,rpt));
peaks40.Width = '3in';
peaks40.Height = [];
delete(gcf);

t = Table({peaks20,peaks40;'peaks(20)','peaks(40)'});
add(rpt,t);
close(rpt);
rptview(rpt);

この例では、print コマンドを使用して Figure のスナップショット イメージをサイズ変更する場合と、Figure レポーターの Snapshot プロパティで指定されたレポーターを使用してサイズ変更する場合の違いを示す PDF レポートを生成します。

幅広の MATLAB® Figure を作成します。Figure から 3 つの mlreportgen.report.Figure レポーターを作成し、それらをレポートに追加します。

  • 最初の Figure レポーターは Figure のサイズを変更しません。

  • 2 番目の Figure レポーターは、print コマンドを使用して Figure のサイズを変更します。

  • 3 番目の Figure レポーターは、Snapshot レポーターを使用して Figure のサイズを変更します。

import mlreportgen.report.*

fig = figure();
ax = axes(fig);
plot(ax, rand(1,100));

pos = fig.Position;
fig.Position = [pos(1) pos(2) 2*pos(3) pos(4)];

rpt = Report('example','pdf');

add(rpt, "Intrinsic figure size");
figReporter0 = Figure(fig);
figReporter0.Scaling = 'none';
add(rpt,figReporter0);

add(rpt, "Resized by print command");
figReporter1 = Figure(fig);
add(rpt,figReporter1);

add(rpt, "Resized by snapshot reporter");
figReporter2 = Figure(fig);
figReporter2.Scaling = 'none';
figReporter2.Snapshot.ScaleToFit = true;
add(rpt,figReporter2);

close(rpt);
delete(fig)
rptview(rpt);

生成されたレポートの Figure は次のようになります。

制限

  • モニターのないサーバー上でレポートを生成する場合、Figure レポーターはスナップショットを取得できません。

ヒント

  • Report Generator は、Scaling プロパティの値に基づいて、Figure スナップショットの幅と高さを計算します。凡例は、座標軸や Figure のコンテンツと緊密に結び付いていないフローティング要素です。Scaling の値を使用して Figure の寸法を調整すると、レポート内の凡例の位置が Figure ウィンドウ内の位置に対してずれる場合があります。

バージョン履歴

R2017b で導入

すべて展開する