mlreportgen.report.Sparkline 类
命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter
描述
使用 mlreportgen.report.Sparkline 创建一个迷你图报告器。
mlreportgen.report.Sparkline 类是一个 handle 类。
创建对象
描述
创建了一个空的 reporter = mlreportgen.report.SparklineSparkline 报告器对象。使用报告器属性来指定迷你图的数据、迷你图的外观、要包含的迷你图相关信息以及报告选项。向报告中添加空的 Sparkline 报告器会产生错误。
使用名称-值参量设置报告器的属性。您可以按任意顺序指定多个名称-值参量。reporter = mlreportgen.report.Sparkline(PropertyName=Value)
属性
用于生成迷你图的数据,指定为双精度数组。
属性:
GetAccess | public |
SetAccess | public |
数据类型: double
快照报告器,指定为 mlreportgen.report.FormalImage 对象。使用 FormalImage 对象的属性来指定快照图像的题注,或自定义图像的大小。
注意
报告器初始化 Snapshot 属性。请勿清除或修改此属性。
属性:
GetAccess | public |
SetAccess | public |
快照图像格式,指定为以下格式之一:
| 值 | 图像格式 | 支持 HTML | 支持 Word | 支持 PDF | 支持 PDF/A 格式 (自 R2025a 起) |
|---|---|---|---|---|---|
"jpg" | JPEG 图像 | 是 | 是 | 是 | 否 |
"png" | 可移植网络图形 | 是 | 是 | 是 | 是 |
"svg" | 可缩放矢量图 | 是 | 是 | 是 | 是 |
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
要绘制的迷你图类型,指定为以下值之一:
| 迷你图样式 | 描述 |
|---|---|
"dashed" | 虚线 |
"dotted" | 点线 |
"solid" | 单线 |
属性:
GetAccess | public |
SetAccess | public |
线条颜色,指定为字符向量或字符串标量,其中包含 CSS 颜色名称、十六进制 RGB 值或十进制 RGB 值。
| 格式 | 值 |
|---|---|
| CSS 颜色名称 | 指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords。 |
| 十六进制 RGB 值 | 使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。 |
| 十进制 RGB 颜色值 | 请使用格式 "rgb(r,g,b)",其中 r、g 和 b 是以逗号分隔的正整数,分别表示红色、绿色和蓝色的值。每个值的范围必须介于 0 和 255 之间。 |
示例: "red" 使用 CSS 颜色名称指定红色。
示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。
示例: "rgb(128,0,128)" 使用十进制 RGB 颜色值指定紫色。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
迷你图的宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"0.75pt" 表示 0.75 点。有效的缩写是:
"px"- 像素"cm"- 厘米"in"- 英寸"mm"- 毫米"pc"- 派卡"pt"- 磅
示例: "0.75pt"
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
微型图上用于显示标记的数据点,指定为字符向量、字符串标量、字符向量的元胞数组,或由以下值组成的字符串标量数组:
| 标记点 | 描述 |
|---|---|
[] | 无标记 |
"all" | 在所有数据点处显示标记 |
"min" | 在最小点处显示标记 |
"max" | 在最高分处显示标记 |
"first" | 在第一个数据点处显示标记 |
"last" | 在最后一个数据点处显示标记 |
"negative" | 在负数据点处显示标记 |
示例: "all"
示例: {'first' 'last'}
示例: ["max" "first" "last"]
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
标记样式,指定为以下值之一:
| 标记点 | 描述 |
|---|---|
"square" | 将标记显示为正方形 |
"circle" | 将标记显示为圆圈 |
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
标记的默认颜色,指定为包含 CSS 颜色名称、十六进制 RGB 值或十进制 RGB 值的字符向量或字符串标量。
| 格式 | 值 |
|---|---|
| CSS 颜色名称 | 指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords。 |
| 十六进制 RGB 值 | 使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。 |
| 十进制 RGB 颜色值 | 请使用格式 "rgb(r,g,b)",其中 r、g 和 b 是以逗号分隔的正整数,分别表示红色、绿色和蓝色的值。每个值的范围必须介于 0 和 255 之间。 |
示例: "red" 使用 CSS 颜色名称指定红色。
示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。
示例: "rgb(128,0,128)" 使用十进制 RGB 颜色值指定紫色。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
标记的大小,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"0.75pt" 表示 0.75 点。有效的缩写是:
"px"- 像素"cm"- 厘米"in"- 英寸"mm"- 毫米"pc"- 派卡"pt"- 磅
您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
该报告器的模板来源,以下列方式之一指定:
字符向量或字符串标量,指定包含此报告器模板的文件的路径
此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告
文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板
指定的模板必须与您追加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
Dependent | true |
此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的 TemplateSrc 属性指定的模板的模板库中。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标在输出报告中紧接着此报告器的内容。
属性:
GetAccess | public |
SetAccess | public |
方法
| 方法 | 用途 |
|---|---|
getSnapshotImage | 获取快照图像路径 |
mlreportgen.report.Sparkline.createTemplate | 创建报告器模板 输入参量
返回值
有关详细信息,请参阅 |
mlreportgen.report.Sparkline.customizeReporter | 从 输入参量
返回值
有关详细信息,请参阅 |
mlreportgen.report.Sparkline.getClassFolder | 获取包含 返回值
有关详细信息,请参阅 |
copy | 创建报告器对象的副本,并对属性值进行深拷贝 输入参量
返回值
有关详细信息,请参阅 |
getImpl | 获取报告器的实现 注意 调用此方法后,您无法再向报告器添加内容。 输入参量
返回值
有关详细信息,请参阅 |
示例
本示例演示了如何在报告表中添加迷你图。
导入报告和 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);
本示例演示了如何在报告中添加一个带有题注的自定义迷你图。
导入报告和 DOM API 命名空间,以避免使用冗长的完全限定名称。
import mlreportgen.dom.* import mlreportgen.report.*
创建报告。
rpt = Report("MonthlyTrends", "pdf");
创建一个表,其中包含四周内的每日访客数据以及每周的访客总数。
headerContent = {...
'Weeks', 'Day 1', 'Day 2', 'Day 3', 'Day 4', ...
'Day 5', 'Day 6', 'Day 7', 'Total Visitors'...
};
totalVisitors = [193, 213, 195, 152];
bodyContent = {...
'Week 1', 12, 18, 25, 30, 33, 35, 40, totalVisitors(1); ...
'Week 2', 19, 28, 30, 31, 31, 36, 38, totalVisitors(2); ...
'Week 3', 12, 26, 29, 26, 30, 31, 33, totalVisitors(3);
'Week 4', 21, 8, 19, 23, 21, 30, 30, totalVisitors(4)...
};指定表的格式。
tableStyle = {Width("80%"), ...
Border("solid"), ...
RowSep("solid"), ...
ColSep("solid")};根据指定的内容和格式创建正式表。
tbl = FormalTable(headerContent, bodyContent); tbl.Style = tableStyle;
指定标题行的格式。
headerStyle = {BackgroundColor("Orange"), ...
Bold(true)};
firstRow = tbl.Children(1);
firstRow.Style = headerStyle;将表条目的对齐方式设置为居中。
tbl.TableEntriesHAlign = "center";将表追加到报告。
append(rpt,tbl);
添加一段文字,对该迷你图进行说明。
append(rpt, LineBreak()); append(rpt,Paragraph(... "Sparkline illustrating the monthly trend of visitor attendance")); append(rpt, LineBreak());
创建、自定义并将迷你图追加到报告中。
sparkline = Sparkline(totalVisitors); sparkline.LineColor = "green"; sparkline.LineStyle = "dotted"; sparkline.LineWidth = "1.5pt"; sparkline.MarkerColor = "blue"; sparkline.MarkerStyle = "circle"; sparkline.MarkerPoints = "all"; sparkline.MarkerSize = "3pt"; sparkline.Snapshot.Height = "1in"; sparkline.Snapshot.Width = "5in"; sparkline.Snapshot.Caption = "Monthly trend of visitor attendance"; append(rpt,sparkline);
关闭并查看报告。
close(rpt); rptview(rpt);

版本历史记录
在 R2026a 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)