Main Content

本页采用了机器翻译。点击此处可查看最新英文版本。

在报告 API 报告中创建图表列表

在报告 API 报 告中,您可以创建报告中图窗或表格的列表,以便浏览列表并轻松导航到特定的图窗或表格。要创建图窗列表,请向报告中添加 mlreportgen.report.ListOfFigures 报告器。要创建表格列表,请向报告中添加 mlreportgen.report.ListOfTables 报告器。

注意

要为其他报告元素(例如方程)的列表创建一个部分,请使用 mlreportgen.report.ListOfCaptions 报告器。

ListOfFiguresListOfTables 报告器在报告的新部分中为列表创建占位符。通常,您会在目录之后、包含报告内容的部分之前添加图窗列表或表格列表部分。在 PDF 和 Microsoft® Word 报 告中,图窗或表格部分的列表位于您在报告中放置它们的位置。在 HTML 报 告中,各个部分位于侧边栏。

图窗列表的生成方式取决于报告类型:

  • PDF -报告 API 在报告生成期间生成列表。

  • Word - 您必须通过在报告生成程序中更新 Word 文档或在 Word 中交互来生成列表。请参阅更新 Word 文档中的目录和生成的列表

  • HTML - HTML 浏览器生成列表。

图窗列表部分包括以 mlreportgen.report.FormalImagemlreportgen.report.Figure 对象表示的所有图像的题注列表。表格列表部分包括以 mlreportgen.report.BaseTable 对象表示的所有表格的标题列表。图窗列表中的每个列表项都链接到报告中的题注或标题。在 PDF 和 Word 报 告中,列表项还包括报告中题注或标题的页码。引导符填充了题注或标题与页码之间的空白。

创建图表列表部分

要在报告中创建图窗列表部分:

  1. 创建报告 API 报 告。

  2. 创建一个 ListofFigures 对象。图窗部分列表的默认标题是 List of Figures 。要指定不同的标题,请设置 ListofFigures 对象的 Title 属性。将 ListofFigures 对象添加到报告中。

  3. 为报告内容创建章节或节。

  4. 将报告内容添加到章节或节中。将图像创建为 FormalImageFigure 对象。指定图像或图窗的题注。对于 FormalImage 对象,设置 Caption 属性。对于 Figure 对象,设置由 Figure 对象的 SnapShot 属性指定的 FormalImage 对象的 Caption 属性。

  5. 关闭报告。

创建表格列表部分

要在报告中创建表格列表部分:

  1. 创建报告 API 报 告。

  2. 创建一个 ListofTables 对象。表格列表部分的默认标题是 List of Tables 。要指定不同的标题,请设置 ListofTables 对象的 Title 属性。将 ListofTables 对象添加到报告中。

  3. 为报告内容创建章节或节。

  4. 将报告内容添加到章节或节中。将表创建为 BaseTable 对象,并使用对象的 Title 属性指定标题。

  5. 关闭报告。

创建包含图片列表和表格列表的报告

此示例显示如何向报告 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);

以下是报告中的图窗列表:

以下是报告中表格的列表:

自定义图窗列表或表格列表章节标题

您可以通过设置 ListOfFiguresListOfTables 报告器的 Title 属性来指定图窗列表或表格列表部分的标题。要自定义标题的样式(例如字体系列、颜色或大小),请使用以下方法之一:

另请参阅

| | | | |

相关主题