Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

縦向きと横向きのページでのレポートの作成

この例では、11 x 8.5 インチの横向きのページと 8.5 x 11 インチの縦向きのページの両方を含むレポートを作成する方法を示します。レポートで横向きのページを使用すると、これらの左右に並べられたイメージのように、幅が広すぎて縦向きのページに収まらないコンテンツを収めることができます。

長いクラス名を使用せずに済むよう、DOM およびレポートの API パッケージをインポートします。

import mlreportgen.dom.*;
import mlreportgen.report.*;

レポートのコンテンツを保持するコンテナーを作成します。

% To create a Word report, change the output type from "pdf" to "docx". 
rpt = mlreportgen.report.Report("PortraitAndLandscapeReport", "pdf");

"Types of Cosine Value Plots with Random Noise" (ランダム ノイズを含む余弦値プロットのタイプ) というタイトルの章を作成します。

chapter = Chapter("Title", "Types of Cosine Value Plots with Random Noise");

章の横方向レイアウトを true に設定します。これにより、章のレイアウト全体が横向きに設定されます。

chapter.Layout.Landscape = true;

プロットする変数を作成します。x を 0 ~ 3pi の間にある等間隔の 200 個の値として作成します。ランダム ノイズを含む余弦値として y を作成します。

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);  

x と y の値から成る figure オブジェクト (棒グラフ (fig1)、散布図 (fig2)、2 次元ライン プロット (fig3)) を作成します。

Figure スナップショット イメージ ファイルをラップする image オブジェクトを作成します。テーブル エントリに収まるように、figure オブジェクトのスケーリングを設定します。

imgStyle = {ScaleToFit(true)};

fig1 = Figure(bar(x, y));
fig1Img = Image(getSnapshotImage(fig1, rpt));
fig1Img.Style = imgStyle;
delete(gcf);

fig2 = Figure(scatter(x,y));

fig2Img = Image(getSnapshotImage(fig2, rpt));
fig2Img.Style = imgStyle;
delete(gcf);


fig3 = Figure(plot(x,y));
fig3Img = Image(getSnapshotImage(fig3, rpt));
fig3Img.Style = imgStyle;
delete(gcf);

1 行 5 列の非表示レイアウト テーブル (lo_table) の唯一の行にイメージを挿入します (2 つの空のテーブル エントリをもたせて Figure 間にスペースを確保します)。テーブルおよびそのテーブル エントリのいずれにも境界線が定義されていない場合、テーブルは非表示と見なされます。テーブル エントリの高さと幅が指定されている場合にのみ、イメージはテーブル エントリに収まるようにサイズが調整されます。

lo_table = Table({fig1Img, ' ', fig2Img, ' ',fig3Img});
lo_table.entry(1,1).Style = {Width('3.2in'), Height('3in')};
lo_table.entry(1,2).Style = {Width('.2in'), Height('3in')};
lo_table.entry(1,3).Style = {Width('3.2in'), Height('3in')};
lo_table.entry(1,4).Style = {Width('.2in'), Height('3in')};
lo_table.entry(1,5).Style = {Width('3in'), Height('3in')};

テーブルを章に追加し、章をレポートに追加します。

add(chapter, lo_table);
add(rpt, chapter);

"Surface Plot" (表面プロット) というタイトルの章を作成します。章の既定のレイアウトは縦向きです。

chapter1 = Chapter("Title", "Surface Plot");

表面プロット用の figure オブジェクト (fig4) を作成します。Figure スナップショット イメージ ファイルをラップする image オブジェクトを作成します。

fig4 = Figure(surf(peaks(20)));
fig4Img = Image(getSnapshotImage(fig4, rpt));
fig4Img.Style = imgStyle;
delete(gcf);

生成された image オブジェクトを章に追加し、章をレポートに追加します。

add(chapter1, fig4Img);
add(rpt, chapter1);

レポートを生成して表示します。

close(rpt);
rptview(rpt);

生成されたレポートで、横向きのページには左右に並べられた Figure のスナップショットが、縦向きのページには表面プロットが表示されます。