左右に並べられた Figure
この例では、ページ上で Figure を左右に並べて配置する方法を説明します。
この例では、非表示テーブル (境界線も色も付いていないテーブル) の隣接するエントリに、各 Figure を配置します。非表示テーブルによって、挿入された図が左右に並べて表示されます。
長い完全修飾クラス名を使用せずに済むよう、DOM およびレポートの API パッケージをインポートします。また、レポート オブジェクトも作成します。
import mlreportgen.dom.* import mlreportgen.report.* % To create a Word report, change the output type from "pdf" to "docx". % To create an HTML report, change "pdf” to “html” or "html-file" for a % multifile or single-file report, respectively. rpt = Report('myreport', 'pdf');
表面プロット (fig1) およびウォーターフォール プロット (fig2) 用の figure オブジェクトを作成します。次に、Figure スナップショット イメージ ファイルをラップする image オブジェクトを作成します。以下で作成したテーブル エントリに収まるように、イメージをスケーリングします。
imgStyle = {ScaleToFit(true)}; fig1 = Figure(surf(peaks(20))); fig1Img = Image(getSnapshotImage(fig1, rpt)); fig1Img.Style = imgStyle; delete(gcf); fig2 = Figure(waterfall(peaks(20))); fig2Img = Image(getSnapshotImage(fig2, rpt)); fig2Img.Style = imgStyle; delete(gcf);
1 行 3 列の非表示レイアウトのテーブル (lo_table) の唯一の行にイメージを挿入します。テーブルおよびそのすべてのテーブル エントリに対して境界線が定義されていない場合、そのテーブルは非表示とみなされます。
lo_table = Table({fig1Img, ' ', fig2Img});
イメージは、テーブル エントリの高さと幅が指定されている場合にのみ、テーブル エントリに収まるようにサイズが調整されます。
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')};
余白を挟んでページ幅一杯に広がるように、テーブルの幅を設定します。ResizeToFitContents を false に設定して、テーブル列のサイズ変更を防ぎ、代わりに指定した幅を使用するようにします。
lo_table.Style = {Width('100%'), ResizeToFitContents(false)};
レポートを生成して表示します。
add(rpt, lo_table); close(rpt); rptview(rpt);