В этом примере показано, как создать отчет с альбомными страницами, которые 11 дюймов шириной и 8,5 дюймов высотой. Используя альбомные страницы позволяет подходящее содержимое, которое слишком широко, чтобы соответствовать на странице портрета, такой как рядом друг с другом изображения, изображенные здесь.
Импортируйте DOM и пакеты API Отчета так, чтобы вы не использовали долго, полностью определенные имена классов.
import mlreportgen.dom.*; import mlreportgen.report.*;
Создайте контейнер для отчета PDF. Чтобы создать отчет Word, измените выходной тип от "pdf"
к "docx"
.
rpt = Report("figureSnapshotSideBySideLandscape","pdf");
Установите альбомный макет отчета на истину. Это устанавливает целое размещение отчета заниматься ландшафтным дизайном.
rpt.Layout.Landscape = true;
Создайте главу с заголовком "Типы Графиков Значения Косинуса со Случайным Шумом".
chapter = Chapter("Title", "Types of Cosine Value Plots with Random Noise");
Создайте переменные, чтобы построить. Создайте 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);
Сгенерированный отчет включает в себя рядом друг с другом снимки состояния фигуры и объемная поверхностная диаграмма на альбомных страницах. Сгенерированные рядом друг с другом полагают, что снимки состояния являются явно четкими.