在报告 API 报告中创建图表列表
在报告 API 报
告中,您可以创建报告中图窗或表格的列表,以便浏览列表并轻松导航到特定的图窗或表格。要创建图窗列表,请向报告中添加 mlreportgen.report.ListOfFigures
报告器。要创建表格列表,请向报告中添加 mlreportgen.report.ListOfTables
报告器。
注意
要为其他报告元素(例如方程)的列表创建一个部分,请使用 mlreportgen.report.ListOfCaptions
报告器。
ListOfFigures
或 ListOfTables
报告器在报告的新部分中为列表创建占位符。通常,您会在目录之后、包含报告内容的部分之前添加图窗列表或表格列表部分。在 PDF 和 Microsoft® Word 报
告中,图窗或表格部分的列表位于您在报告中放置它们的位置。在 HTML 报
告中,各个部分位于侧边栏。
图窗列表的生成方式取决于报告类型:
PDF -报告 API 在报告生成期间生成列表。
Word - 您必须通过在报告生成程序中更新 Word 文档或在 Word 中交互来生成列表。请参阅更新 Word 文档中的目录和生成的列表。
HTML - HTML 浏览器生成列表。
图窗列表部分包括以 mlreportgen.report.FormalImage
或 mlreportgen.report.Figure
对象表示的所有图像的题注列表。表格列表部分包括以 mlreportgen.report.BaseTable
对象表示的所有表格的标题列表。图窗列表中的每个列表项都链接到报告中的题注或标题。在 PDF 和 Word 报
告中,列表项还包括报告中题注或标题的页码。引导符填充了题注或标题与页码之间的空白。
创建图表列表部分
要在报告中创建图窗列表部分:
创建报告 API 报 告。
创建一个
ListofFigures
对象。图窗部分列表的默认标题是List of Figures
。要指定不同的标题,请设置ListofFigures
对象的Title
属性。将ListofFigures
对象添加到报告中。为报告内容创建章节或节。
将报告内容添加到章节或节中。将图像创建为
FormalImage
或Figure
对象。指定图像或图窗的题注。对于FormalImage
对象,设置Caption
属性。对于Figure
对象,设置由Figure
对象的SnapShot
属性指定的FormalImage
对象的Caption
属性。关闭报告。
创建表格列表部分
要在报告中创建表格列表部分:
创建报告 API 报 告。
创建一个
ListofTables
对象。表格列表部分的默认标题是List of Tables
。要指定不同的标题,请设置ListofTables
对象的Title
属性。将ListofTables
对象添加到报告中。为报告内容创建章节或节。
将报告内容添加到章节或节中。将表创建为
BaseTable
对象,并使用对象的Title
属性指定标题。关闭报告。
创建包含图片列表和表格列表的报告
此示例显示如何向报告 API 报 告添加图窗列表部分和表格列表部分。该示例生成一个关于幻方的报告,其中包括两个图窗和一个表格。
导入报告和 DOM API 包,这样您就不必使用长而完全限定的类名。
import mlreportgen.report.* import mlreportgen.dom.*
创建报告 API 报 告。为报告添加标题页和目录。
rpt = Report('magic','docx'); tp = TitlePage; tp.Title = 'Magic Squares'; tp.Author = 'John Doe'; append(rpt,tp); append(rpt,TableOfContents);
在报告中添加图窗列表部分和表格列表部分。使用默认的部分标题。
lof = ListOfFigures(); append(rpt,lof); lot = ListOfTables(); append(rpt,lot);
创建报告内容。对于此示例,创建一个章节来介绍幻方,并创建一个章节来举例说明幻方。
ch1 = Chapter('Introduction'); sec1 = Section('What is a Magic Square?'); para = Paragraph(['A magic square is an N-by-N matrix '... 'constructed from the integers 1 through N^2 '... 'with equal row, column, and diagonal sums.']); append(sec1,para); append(ch1,sec1); sec2 = Section('Albrecht Durer and the Magic Square'); para = Paragraph(['A 4-by-4 magic square appears in the upper right corner ' ... 'of the engraving, Melancholia I, by German artist Albrecht Durer (1471-1528).']); append(sec2,para); append(ch1,sec2) ;
将图像 durer.png
作为 mlreportgen.report.FormalImage
对象添加到章节中,以便该图像包含在图窗列表中。
im = FormalImage('durer.png'); im.Caption = 'Melancholia I by Albrecht Durer'; append(sec2,im); append(rpt,ch1);
創作第二章。
ch2 = Chapter('Magic Square Example');
square = magic(10);
从 magic(10)
的输出创建一个表并将其添加到章节中。将表表示为 mlreportgen.report.BaseTable
,以便该表包含在表列表中。
tbl = BaseTable(square);
tbl.Title = 'Order Ten Magic Square';
append(ch2,tbl);
创建幻方的彩色图像并将其作为 mlreportgen.report.Figure
对象添加到章节中,以便将图像包含在图窗列表中。
clf; imagesc(square) axis equal axis off fig = Figure(gcf); fig.Snapshot.Caption = 'Color-coded image of 10-by-10 magic square'; append(ch2,fig); append(rpt,ch2);
关闭并查看报告。
close(rpt); rptview(rpt);
以下是报告中的图窗列表:
以下是报告中表格的列表:
自定义图窗列表或表格列表章节标题
您可以通过设置 ListOfFigures
或 ListOfTables
报告器的 Title
属性来指定图窗列表或表格列表部分的标题。要自定义标题的样式(例如字体系列、颜色或大小),请使用以下方法之一:
将标题指定为
mlreportgen.dom.Text
对象,并使用对象属性指定样式。指定
ListOfFigures
或ListOfTables
报告器使用的模板中的标题样式。在标题报告器使用的模板中指定图窗或表格部分标题的标题样式。请参阅使用自定义模板作为图表标题列表和使用自定义模板作为表格标题列表。
另请参阅
mlreportgen.report.BaseTable
| mlreportgen.report.ListOfFigures
| mlreportgen.report.ListOfTables
| mlreportgen.report.ListOfCaptions
| mlreportgen.report.FormalImage
| mlreportgen.report.Figure