Создайте отчет с портретом и альбомными страницами

В этом примере показано, как создать отчет, который содержит и 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");

Создайте главу с заголовком "Типы Графиков Значения Косинуса со Случайным Шумом".

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

Установите альбомный макет главы на истину. Это установит целое размещение главы заниматься ландшафтным дизайном.

chapter.Layout.Landscape = true;

Создайте переменные, чтобы построить. Создайте x как 200 равномерно распределенных значений между 0 и 3pi. Создайте y как значения косинуса со случайным шумом.

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

Создайте объекты фигуры значений X и Y: столбчатый график (fig1), график рассеивания (fig2) и 2-D Line plot (fig3).

Создайте объекты изображения, перенес файлы изображений снимка состояния фигуры. Установите масштабирование объектов фигуры, таким образом, они помещаются в записи таблицы.

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

Вставьте изображения в единственную строку 1x5 невидимая таблица размещения (lo_table) (пробел между фигурами при наличии 2 пустых записей таблицы). Таблица рассматривается невидимой, когда границы не заданы для таблицы, ни любой из ее записей таблицы. Изображения измерены, чтобы соответствовать записям таблицы, только если высота и ширина записей таблицы заданы.

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

Создайте главу с заголовком "Объемная поверхностная диаграмма". Раскладка по умолчанию для главы является портретом.

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

Создайте объект фигуры для объемной поверхностной диаграммы (fig4). Создайте объекты изображения, перенес файлы изображений снимка состояния фигуры.

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

Добавьте сгенерированный объект изображения в главу и главу к отчету.

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

Сгенерируйте и отобразите отчет

close(rpt);
rptview(rpt);

Сгенерированный отчет включает в себя рядом друг с другом снимки состояния фигуры на альбомной странице и объемная поверхностная диаграмма на странице портрета.