slreportgen.report.Diagram クラス
名前空間: slreportgen.report
スーパークラス: slreportgen.report.Reporter
ブロック線図レポーターの作成
説明
Simulink® または Stateflow® のブロック線図用に、ブロック線図のスナップショットと表題が含まれるブロック線図レポーターを作成します。
メモ
レポートでブロック線図レポーターを使用するには、slreportgen.report.Report クラスを使用してレポートを作成する必要があります。
slreportgen.report.Diagram クラスは handle クラスです。
作成
説明
は、空のブロック線図レポーターを作成します。Simulink または Stateflow のブロック線図を取得するように、そのプロパティを設定します。diagram = Diagram()
は、diagram = Diagram(source) source によって指定された Simulink または Stateflow のブロック線図用のブロック線図レポーターを作成します。このレポーターをレポートに追加すると、ブロック線図のスナップショットが作成されます。次に、スナップショットがレポート内にイメージとして表題と共に表示されます。スナップショット イメージは、レポートの一時フォルダーに保存されます。レポートを閉じると、スナップショット イメージはレポートにコピーされ、イメージは一時フォルダーから削除されます。スナップショット イメージ ファイルが削除されないようにするには、レポートの Debug プロパティを使用します。slreportgen.report.Report を参照してください。
は、名前と値の引数を使用してプロパティを設定します。複数の名前と値の引数を任意の順序で指定できます。diagram = Diagram(Name=Value)
プロパティ
ブロック線図のスナップショット イメージのソース。次のいずれかの値として指定します。
開いている、または読み込まれている Simulink モデルの名前
Simulink ブロック線図または Stateflow チャートを含む Simulink サブシステム ブロックのパス
Simulink ブロック線図または Stateflow チャートを含むサブシステム ブロックのハンドル
Stateflow.Chartまたは Stateflow サブチャート オブジェクト。サブチャートは、他のサブチャートを含め、最上位のチャートと同じオブジェクトを含むことができるグラフィカル オブジェクトです。サブチャートは一般にStateflow.State、Stateflow.Function、またはStateflow.Boxオブジェクトで指定されます。
属性:
NonCopyable | true |
スナップショット レポーター。mlreportgen.report.FormalImage オブジェクトとして指定します。FormalImage オブジェクトのプロパティを使用して、スナップショット イメージのキャプションを指定したり、イメージのサイズをさらにカスタマイズしたりします。
メモ
レポーターは Snapshot プロパティを初期化します。このプロパティはリセットしないでください。
属性:
GetAccess | public |
SetAccess | public |
スナップショットをキャプチャするブロック線図領域。1 行 4 列の double 配列として指定します。配列の最初の 2 つの値は、Simulink エディターの座標空間のブロック線図領域の左上隅にある x 座標と y 座標 (ピクセル単位) です。最後の 2 つの値は、幅と高さ (ピクセル単位) です。空の配列は、ブロック線図全体を指定します。
Simulink エディターでキャプチャするビューを設定してから、SnapshotArea プロパティを関数 slreportgen.utils.getCurrentEditorView の出力に設定できます。例については、ブロック線図の一部のスナップショットのキャプチャを参照してください。
データ型: double
スナップショット イメージの形式。次のいずれかの形式として指定します。
| インポートするイメージ形式 | HTML でのサポート | Word でのサポート | PDF でのサポート | PDF/A でのサポート (R2025a 以降) |
|---|---|---|---|---|
Windows® メタファイル (.emf) | なし | あり | なし | なし |
グラフィックス交換形式 (.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
各ブロック線図要素のハイパーリンクを含めるかどうかの選択。logical として指定します。このプロパティが true の場合、各要素は、その要素を説明するレポート内のオブジェクトへのハイパーリンクになります。このプロパティは、PDF と HTML のレポートにのみ適用されます。ハイパーリンクによって、Simulink と Stateflow のチャートを使用してレポートをナビゲートできます。
Diagram、SimulinkObjectProperties、および StateflowObjectProperties レポーターが連携することで、ハイパーリンクを使用したナビゲーションが可能になります。各レポーターは、作成するレポート オブジェクトの前にハイパーリンク ターゲットを付けます。そのターゲットの ID は、モデル内のレポートされる要素のパスに基づきます。また、ブロック線図レポーターは、ブロック線図のスナップショットの要素と、対応する要素ベースのターゲット ID へのハイパーリンクを重ね合わせます。ブロック線図要素がリンクするレポート オブジェクトは、要素のタイプによって異なります。
ブロック線図ベースのブロック (サブシステム、チャート、モデル) は、ブロックのブロック線図にリンクされます。
その他のブロックは、ブロックのテキスト説明 (通常、ブロックのプロパティ テーブル) にリンクされます。
マスク パラメーターをもつマスク サブシステム ブロックは、ブロックのテキスト説明 (マスク パラメーター テーブルなど) にリンクされます。テキスト説明へのこのリンクは、ブロック線図レポーターの
MaskedSystemLinkPolicyプロパティが"block"または"default"に設定されている場合にのみ真になります。それ以外の場合、マスク システム ブロックはそのブロック線図にリンクされます。マスク パラメーターをもたないマスク サブシステム ブロックは、ブロックのブロック線図にリンクされます。
ブロック線図ベースのナビゲーションをカスタマイズするには、ユーティリティ関数 slreportgen.utils.getObjectID によって生成されたターゲット ID に基づいてカスタム リンク ターゲットを作成します。
データ型: logical
マスク システム ブロックのハイパーリンクのターゲットを特定するためのポリシー。次のいずれかの値として指定します。
"default"— パラメーターをもつマスク システム ブロックは、テキスト説明 (マスク パラメーター テーブルなど) にリンクされます。パラメーターをもたないマスク システム ブロックは、レポート内の対応するブロック線図にリンクされます。"system"— マスク システム ブロックは、レポート内のそのブロック線図にリンクされます。"block"— マスク システム ブロックは、そのテキスト説明 (マスク パラメーターやサブシステム パラメーターのテーブルなど) にリンクされます。
データ型: char | string
スナップショット イメージのスケーリング オプション。"auto"、"custom"、または"zoom" として指定します。このプロパティは、イメージ ファイル内のスナップショット イメージのサイズを制御します。サポートされているスケーリング オプションは次のとおりです。
"auto"— PDF または Word (DOCX) 出力の場合、このオプションを使用して、スナップショット イメージを、縦横比を保ちながら現在のページ レイアウトに収まるようにスケーリングします。まず、レポーターがスナップショット イメージをページ幅に合わせてスケーリングします。イメージの高さがページの高さを超えると、レポーターはイメージを再び縮小方向にスケーリングします。このさらなるスケーリングにより、イメージを 1 インチの余白を空けて現在のページに収まるようにします。スケーリングは HTML 出力には適用されません。"custom"— このオプションを使用して、HeightプロパティおよびWidthプロパティの値に基づいてスナップショット イメージをスケーリングします。"zoom"—Zoomプロパティで指定されているパーセント値に要素イメージのサイズを拡大または縮小します。イメージの最大高さと最大幅を指定するには、それぞれMaxHeightプロパティとMaxWidthプロパティを使用します。
メモ
"auto" と "custom" オプションは、MATLAB® の print コマンドを使用して図のサイズを変更します。図が大きすぎて指定されたスペースに収まらない場合は、print コマンドでスナップショット イメージをトリミングします。トリミングを回避するには、[スケーリング] プロパティを ”なし” に設定し、Snapshot プロパティで指定されているレポーターを使用して画像のサイズを変更します。レポーターはテキストのサイズをイメージの他の部分と一緒に縮小するため、画像を拡大しないと細かい部分が判読できない場合があります。Figure スナップショット イメージのサイズ変更を参照してください。
メモ
次のいずれかのプロパティ設定の組み合わせでは、java.lang.OutOfMemoryError が発生する可能性があります。
Scalingを"zoom"に設定し、かつZoom、MaxHeight、およびMaxWidthプロパティを大きい値に設定するScalingを"custom"に設定し、かつHeightおよびWidthプロパティを大きい値に設定する
このエラーを回避するには、ズームの Scaling には、より小さい Zoom、MaxHeight、および MaxWidth プロパティ値を使用します。Scaling を "custom" に設定している場合は、より小さい Height および Width プロパティ値を使用します。
属性:
GetAccess | public |
SetAccess | public |
データ型: char | string
スナップショット イメージの高さ。数値とそれに続く測定単位の略語を含む文字ベクトルまたは string スカラーとして指定します。たとえば、"2in" は 2 インチを指定します。既定のスナップショットは 6 インチです。有効な略語は次のとおりです。
"px"— ピクセル"cm"— センチメートル"in"— インチ"mm"— ミリメートル"pc"— パイカ"pt"— ポイント
メモ
PDF イメージの場合、サイズの上限は幅と高さ共に 10,000 ピクセルです。その他のイメージ タイプはすべて画面サイズが上限となります。
例: "2in"
属性:
GetAccess | public |
SetAccess | public |
データ型: char | string
スナップショット イメージの幅。数値とそれに続く測定単位の略語を含む文字ベクトルまたは string スカラーとして指定します。たとえば、"2in" は 2 インチを指定します。デフォルトのスナップショットの幅は 6.5 インチです。有効な略語は次のとおりです。
"px"— ピクセル"cm"— センチメートル"in"— インチ"mm"— ミリメートル"pc"— パイカ"pt"— ポイント
メモ
PDF イメージの場合、サイズの上限は幅と高さ共に 10,000 ピクセルです。その他のイメージ タイプはすべて画面サイズが上限となります。
例: "2in"
属性:
GetAccess | public |
SetAccess | public |
データ型: char | string
スナップショット イメージのズーム量。string として指定します。Zoom の形式は "value%" です。ここで、value はスナップショット イメージが拡大または縮小されるパーセントです。
例: "100%"
データ型: char | string
ズーム スケーリングの最大高さ。数値とそれに続く測定単位の略語を含む文字ベクトルまたは string スカラーとして指定します。たとえば、"10px" は 10 ピクセルを指定します。有効な略語は次のとおりです。
"px"— ピクセル"cm"— センチメートル"in"— インチ"mm"— ミリメートル"pc"— パイカ"pt"— ポイント
メモ
このプロパティは、Scaling が "zoom" に設定されている場合にのみ適用されます。
例: "5in"
データ型: char | string
ズーム スケーリングの最大幅。数値とそれに続く測定単位の略語を含む文字ベクトルまたは string スカラーとして指定します。たとえば、"10px" は 10 ピクセルを指定します。有効な略語は次のとおりです。
"px"— ピクセル"cm"— センチメートル"in"— インチ"mm"— ミリメートル"pc"— パイカ"pt"— ポイント
メモ
このプロパティは、Scaling が "zoom" に設定されている場合にのみ適用されます。
例: "5in"
データ型: 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 |
メソッド
slreportgen.report.Diagram.createTemplate | ブロック線図テンプレートを作成する |
slreportgen.report.Diagram.customizeReporter | カスタム ブロック線図レポーター クラスを作成 |
slreportgen.report.Diagram.getClassFolder | ブロック線図のクラス定義ファイルの場所 |
getSnapshotImage | ブロック線図のスナップショット イメージ ファイルの場所 |
copy | Create copy of a Simulink reporter object and make deep copies of certain property values |
getImpl | レポーターの実装を取得する |
例
vdp モデルの最上位のスナップショットをレポートに追加します。
load_system("vdp") import slreportgen.report.* import mlreportgen.report.* rpt = slreportgen.report.Report("output","pdf"); chapter = Chapter(); chapter.Title = "Diagram Reporter Example"; diagram = Diagram("vdp"); diagram.Snapshot.Caption = "The van der Pol Equation"; diagram.SnapshotFormat = "svg"; diagram.Snapshot.Height = "4in"; add(chapter,diagram); add(rpt,chapter); rptview(rpt);

PDF レポートを作成し、それに sf_car モデルのルート システムとサブシステムのブロック線図スナップショットを追加します。transmission サブシステムにハイパーリンクを追加し、そのリンクのターゲットとして段落を追加します。
import mlreportgen.report.* import slreportgen.report.* import slreportgen.utils.* import mlreportgen.dom.* rpt = slreportgen.report.Report("output","pdf"); chapter = Chapter("sf_car"); model_name = "sf_car"
model_name = "sf_car"
load_system(model_name); diag1 = Diagram("sf_car"); diag1.Snapshot.Caption = "Root System: sf_car"; add(chapter,diag1); add(chapter,PageBreak); diag2 = Diagram("sf_car/Engine"); diag2.Snapshot.Caption = "Subsystem: sf_car/Engine"; add(chapter,diag2); add(chapter, PageBreak); para = Paragraph("Custom target for sf_car/transmission"); id = getObjectID("sf_car/transmission"); append(para,mlreportgen.dom.LinkTarget(id)); add(chapter,para); add(chapter,PageBreak); add(rpt,chapter); close(rpt); rptview(rpt); close_system(model_name);

SnapshotArea プロパティを使用して、スナップショットをキャプチャするブロック線図の領域を指定します。この例では、Simulink エディターでビューを設定してから、slreportgen.utils.getCurrentEditorView を呼び出してそのビューに SnapshotArea プロパティを設定します。
モデルを開きます。
openExample("f14")Simulink エディターで、スナップショットをキャプチャするブロック線図の一部を表示します。slreportgen.utils.getCurrentEditorView を呼び出して、Simulink エディターの現在のビュー領域を取得します。
editorViewArea = getCurrentEditorView();
レポートとブロック線図レポーターを作成します。ブロック線図のスナップショット領域をエディターの現在の表示領域に設定します。ブロック線図レポーターをレポートに追加します。
import slreportgen.report.* import Slreportgen.utils.* rpt = Report("output","pdf"); diag = Diagram("f14"); diag.SnapshotArea = editorViewArea; add(rpt, diag); close(rpt); rptview(rpt);
制限
slreportgen.report.Diagramは、以下からブロック線図のスナップショットを作成できません。Stateflow.StateTransitionTableChartStateflow.TruthTableChartStateflow.TruthTableStateflow.EMChart
バージョン履歴
R2017b で導入Report Generator で、出力イメージ形式の BMP (ビットマップ) がサポートされなくなりました。これは、レポート エクスプローラーと API (レポート、DOM、PPT) の両方で、スナップショット、ファイルからのイメージ、透かしに影響します。詳細については、print を参照してください。
R2019b 以降は、Scalable Vector Graphics (SVG) のイメージが Word レポートでサポートされています。すべてのレポート タイプ (HTML、PDF、および Word) で、SnapshotFormat プロパティの既定値は 'svg' であり、値 'auto' は 'svg' を示します。以前のリリースでは、SnapshotFormat プロパティの既定値は 'auto' であり、プラットフォームに応じて HTML レポートおよび PDF レポートの場合は 'svg'、Word レポートの場合は 'emf' または 'png' を示していました。
SVG イメージを含む Word レポートには、Word 2016 以降のバージョンが必要です。MATLAB R2019b 以降のリリースで、以前のバージョンの Word と互換性のあるイメージを含むレポートを生成するには、SnapshotFormat プロパティを 'svg' 以外の値に設定します。以前のリリースの MATLAB で既定で使用されていたイメージ形式を指定するには、SnapshotFormat を次のように設定します。
Windows プラットフォームの場合、
"emf"UNIX® または Mac プラットフォームの場合、
"png"
参考
slreportgen.report.Report | slreportgen.finder.DiagramFinder | slreportgen.finder.DiagramElementFinder | slreportgen.finder.SystemDiagramFinder | slreportgen.finder.ChartDiagramFinder | slreportgen.finder.StateflowDiagramElementFinder | slreportgen.finder.StateFinder | slreportgen.report.StateflowObjectProperties | slreportgen.report.SimulinkObjectProperties | slreportgen.finder.BlockFinder | slreportgen.finder.AnnotationFinder
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)