Main Content

mlreportgen.report.Figure クラス

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

説明

タイトル、図、および表題が付いた 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 のイメージ。mlreportgen.report.FormalImage レポーター クラスのオブジェクトとして指定します。レポーターは、gcf を使用して、現在の MATLAB Figure を取得します。形式的イメージ レポーターを使用して、Figure をレポートに挿入します。スナップショットまたはその表題のサイズを指定するには、FormalImage オブジェクトのプロパティを使用します。

メモ

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

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

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

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

スナップショットのイメージ形式。文字ベクトルまたは string スカラーとして指定します。以下はサポートされる形式です。

  • "svg" — Scalable Vector Graphics。

  • "bmp" — ビットマップ イメージ。

  • "jpg" — JPEG イメージ。

  • "png" — PNG イメージ。

  • "emf" — 拡張メタファイル。

    メモ

    この形式は、Windows® プラットフォームの DOCX 出力でのみサポートされます。

  • "tif" — Tag Image File 形式。

    メモ

    この形式は HTML レポートではサポートされていません。

  • "pdf" — PDF イメージ。

    メモ

    この形式は PDF レポートでのみサポートされます。

互換性の考慮事項を参照してください。

データ型: char | string

Figure スナップショット イメージのスケーリング オプション。'auto''custom'、または 'none' として指定します。Scaling は、イメージ ファイルの Figure スナップショット イメージのサイズを制御します。サポートされるスケーリング オプションは、以下のとおりです。

  • 'auto' — PDF または Word (DOCX) 出力の場合、縦横比を保持して現在のページ レイアウトに合わせて Figure スナップショット イメージをスケーリングします。最初に、Figure スナップショット イメージはページ幅にスケーリングされます。イメージの高さがページの高さを超える場合、イメージは再度スケール ダウンされます。この追加のスケーリングでイメージは余分に 1 インチの間を空けて現在のページに収まるようになります。スケーリングは HTML 出力には適用されません。

  • 'custom'Height および Width プロパティの値を基にして Figure スナップショット イメージをスケーリングします。

    Scalingcustom に設定して、HeightWidth プロパティの値が大きくなった場合に、PDF 生成中に、java.lang.OutOfMemoryError が発生する可能性があります。このエラーを防ぎ、Figure がページに確実に収まるようにするには、より小さい HeightWidth 値を使用します。

  • 'none' — サイズ変更を行いません。

メモ

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

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

  • px — ピクセル (既定)

  • cm — センチメートル

  • in — インチ

  • mm — ミリメートル

  • pc — パイカ

  • pt — ポイント

例: '2in'

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

  • px — ピクセル (既定)

  • cm — センチメートル

  • in — インチ

  • mm — ミリメートル

  • pc — パイカ

  • pt — ポイント

例: '3in'

Figure の背景色をスナップショットに保存します。true または false として指定します。PreserveBackgroundColortrue の場合、スナップショットの背景色は Figure の背景色と同じになります。PreserveBackgroundColorfalse の場合、スナップショットの背景色は白になります。

このレポーターのテンプレートのソース。次のオプションのいずれかとして指定します。

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

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

  • テンプレートがこのレポーターのために使用される、またはテンプレート ライブラリがこのレポーターのテンプレートを含む DOM ドキュメントまたはドキュメント パーツ

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

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

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

メソッド

すべて展開する

すべて折りたたむ

表面プロットの 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 Table オブジェクトを使用します。

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);

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

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

  • 1 つ目の 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 は次のようになります。

バージョン履歴

R2017b で導入

すべて展開する