主要内容

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

getSnapshotImage

类: mlreportgen.report.Sparkline
命名空间: mlreportgen.report

获取快照图像路径

自 R2026a 起

语法

imgpath = getSnapshotImage(sparkReporter,report)

说明

imgpath = getSnapshotImage(sparkReporter,report) 创建由 sparkReporter 指定的迷你图的图像,并返回包含该图像的文件的路径。使用此方法可以自定义报告中迷你图的布局。

输入参数

全部展开

迷你图报告器对象,指定为 mlreportgen.report.Sparkline 对象。

报告,指定为 mlreportgen.report.Report 对象。

输出参量

全部展开

图像路径,以字符串形式返回。

示例

全部展开

本示例演示了如何在报告表中添加迷你图。

导入报告和 DOM API 命名空间,以避免使用冗长的完全限定名称。

import mlreportgen.report.*
import mlreportgen.dom.*

根据公司名称列表、销售数据以及月份名称,创建一张包含列表中四家公司 1 月至 6 月销售数据的表。销售数据矩阵的行对应于公司,列对应于月份。

companyNames = ["Apple", "Amazon", "Microsoft", "Google"];

salesData = [
    38, 56, 50, 2, 45, 65;   % Data for Apple
    43, 78, 53, 72, 48, 75;  % Data for Amazon
    50, 60, 55, 65, 52, 70;  % Data for Microsoft
    55, 70, 60, 75, 57, 80]; % Data for Google

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"];

"companyNames" 数组是第一列,后面各列分别对应每个月的销售数据。最后一列 "Trends" 为空。在本示例中,您将使用每家公司的迷你图来填充此列。

tbl = table(companyNames', ...
    salesData(:, 1), salesData(:, 2), salesData(:, 3), ...
    salesData(:, 4), salesData(:, 5), salesData(:, 6), ...
    char.empty(4, 0), ...
'VariableNames', ['CompanyName', months, "Trends"]);

创建一个标题为 "StockMarketReport" 的新报告,并将输出格式指定为 PDF。

rpt = Report("StockMarketReport","pdf");

根据表 tbl 创建一个 MATLABTable 报告器。

mlTable = MATLABTable(tbl);

遍历表中的每一行,并执行以下操作,根据各公司的销售数据添加迷你图。

  • 为当前行创建一个新的表条目。

  • 为当前公司的销售数据创建一个迷你图。

  • 获取迷你图的快照图像,以将其包含在报告中。

  • 使用捕获的快照图像创建一个 DOM 图像对象。

  • 将 DOM 图像追加到表条目(这会将迷你图添加到单元格中)。

  • 将表条目添加到 MATLAB 表中对应的行。

for iRow = 1:mlTable.Body.NRows
    tEntry = TableEntry();
    sparkline = Sparkline(salesData(iRow, :));
    image = getSnapshotImage(sparkline, rpt);
    domImage = Image(image);
    append(tEntry, domImage);
    append(mlTable.Body.row(iRow),tEntry);
end

将包含迷你图的表追加到报告。

append(rpt,mlTable);

关闭并查看报告。

close(rpt);
rptview(rpt);

版本历史记录

在 R2026a 中推出