mlreportgen.report.Figure 类
命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter
图窗报告器
描述
创建对象
描述
fig = mlreportgen.report.Figure
创建了一个报告器,对 MATLAB® 中当前打开的图窗进行快照并将其添加到报告中。使用图窗属性添加题注或更改图窗大小。快照图像存储在报告的临时文件夹中。当报告关闭时,快照图像将被复制到报告中,并且图像将从临时文件夹中删除。为了防止快照图像文件被删除,请使用报告的 Debug
属性。请参阅 mlreportgen.report.Report
。
fig = mlreportgen.report.Figure(source)
创建一个报告器,添加 source
指定的图窗,并将 Source 属性设置为 source
。
fig = mlreportgen.report.Figure(Name=Value)
使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。
属性
图窗来源,指定为:
指示有效图窗文件路径的字符向量或字符串标量
有效的图形句柄
属性:
GetAccess | public |
SetAccess | public |
快照报告器,指定为 mlreportgen.report.FormalImage
对象。使用 FormalImage
对象的属性指定快照图像的标题或进一步自定义图像的大小。
注意
报告器初始化 Snapshot
属性。请勿重置此属性。
属性:
GetAccess | public |
SetAccess | public |
快照图像格式,指定为以下格式之一:
导入图像格式 | 支持 HTML | 支持 Word | 支持 PDF | 支持 PDF/A 格式 (自 R2025a 起) |
---|---|---|---|---|
Windows® 元文件 (.emf ) | 否 | 是 | 否 | 否 |
图形交换格式 (.gif ) | 是 | 是 | 是 | 是 |
JPEG 图片 (.jpg ) | 是 | 是 | 是 | 否 |
PDF (.pdf ) | 否 | 否 | 是 | 否 |
PDF/A (.pdf ) | 否 | 否 | 是 | 否 |
便携式网络图 (.png ) | 是 | 是 | 是 | 是 |
可缩放矢量图 (.svg ) | 是 | 是 | 是 | 是 |
TIFF 图片 (.tif ) | 否 | 是 | 是 | 是 |
注意
与 PDF 报告输出格式不同,PDF/A 格式不支持包含 PDF 或 PDF/A 图像。使用表中列出的图像格式之一将图像插入 PDF/A 报告。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char
| string
快照图像的缩放选项,指定为 "auto"
、"custom"
或 "none"
。此属性控制图像文件中快照图像的大小。支持的缩放选项包括:
"auto"
- 对于 PDF 或 Word (DOCX) 输出,使用此选项可缩放快照图像以适合当前页面布局,同时保持其纵横比。首先,报告器将快照图像缩放至页面宽度。如果图像高度超出了页面高度,报告器会再次缩小图像。这种额外的缩放可确保图像适合当前页面,并有额外的一英寸间距。缩放不适用于 HTML 输出。"custom"
- 使用此选项根据Height
和Width
属性的值缩放快照图像。"none"
- 不执行缩放
注意
"auto"
和 "custom"
选项使用 MATLAB print
命令来调整图窗大小。如果图形太大,无法放入指定的空间,print
命令会裁剪快照图像。为了避免裁剪,请将 Scaling 属性设置为“none”,并使用 Snapshot
属性指定的报告器来调整图像大小。由于报告器将文本与图像的其他部分一起缩小,因此,除非放大图像,否则细节可能无法辨认。请参阅调整图片快照大小。
注意
当以下属性设置组合出现时,可能会发生 java.lang.OutOfMemoryError
:
Scaling
设置为"zoom"
,Zoom
、MaxHeight
和MaxWidth
属性设置为较大值Scaling
设置为"custom"
,Height
和Width
属性设置为较大值
要避免此错误,对于缩放 Scaling
,请使用较小的 Zoom
、MaxHeight
和 MaxWidth
属性值。对于 Scaling
设置为 "custom"
,请使用较小的 Height
和 Width
属性值。
数据类型: char
| string
快照图像的高度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个测量单位的缩写。例如,"2in"
指定两英寸。默认快照为 6 英寸。有效的缩写是:
"px"
- 像素"cm"
- 厘米"in"
- 英寸"mm"
- 毫米"pc"
- 派卡"pt"
- 磅
注意
对于 PDF 图像,宽度和高度的尺寸限制为 10000px。对于所有其他图像类型,尺寸限制是屏幕尺寸。
示例: "2in"
属性:
GetAccess | public |
SetAccess | public |
数据类型: char
| string
快照图像的宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个测量单位的缩写。例如,"2in"
指定两英寸。默认快照宽度为 6.5 英寸。有效的缩写是:
"px"
- 像素"cm"
- 厘米"in"
- 英寸"mm"
- 毫米"pc"
- 派卡"pt"
- 磅
注意
对于 PDF 图像,宽度和高度的尺寸限制为 10000px。对于所有其他图像类型,尺寸限制是屏幕尺寸。
示例: "2in"
属性:
GetAccess | public |
SetAccess | public |
数据类型: char
| string
是否在快照中保留背景颜色,指定为数值或逻辑值 1 (true
) 或 0 (false
)。
true
- 快照的背景颜色与快照源的背景颜色相同,并且忽略Theme
属性。false
- 快照的背景颜色遵循Theme
属性的设置。
属性:
GetAccess | public |
SetAccess | public |
数据类型: logical
自 R2025a 起
打印快照时使用的图形主题,指定为:
"light"
- 以白色背景和深色图线及文字打印图窗。"dark"
- 以深色背景、浅色图线和文字打印图窗。
如果您手动设置了任何图形颜色,则快照会保留这些颜色(但图窗和坐标区的背景颜色除外),无论主题设置如何,都是如此。当 PreserveBackgroundColor
为 true 时,此属性将被忽略。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char
| string
该报告器的模板来源,以下列方式之一指定:
字符向量或字符串标量,指定包含此报告器模板的文件的路径
此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告
文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板
指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc
必须是 Word 报告模板。如果 TemplateSrc
属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的 TemplateSrc
属性指定的模板的模板库中。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char
| string
此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget
对象。字符向量或字符串标量值转换为 LinkTarget
对象。链接目标在输出报告中紧接着此报告器的内容。
属性:
GetAccess | public |
SetAccess | public |
方法
方法 | 用途 |
---|---|
getSnapshotImage | 获取快照图像路径 |
mlreportgen.report.Figure.createTemplate |
创建报告器模板 输入参量
返回值
有关更多信息,请参阅 |
mlreportgen.report.Figure.customizeReporter |
创建源自 返回值
有关更多信息,请参阅 |
mlreportgen.report.Figure.getClassFolder |
获取包含 返回值
有关更多信息,请参阅 |
copy | 创建报告器对象的副本,并对某些属性值进行深度复制 |
getImpl | 获取报告器的实现 |
示例
在报告中添加表面图的图窗并设置图窗题注和高度。
import mlreportgen.report.* surf(peaks); rpt = Report('peaks'); chapter = Chapter(); chapter.Title = 'Figure Example'; add(rpt,chapter); fig = Figure(); fig.Snapshot.Caption = '3-D shaded surface plot'; fig.Snapshot.Height = '5in'; add(rpt,fig); delete(gcf); rptview(rpt);
在报告中添加两个数字。要将它们在页面上彼此相邻放置,请使用 DOM 表对象。
import mlreportgen.report.* import mlreportgen.dom.* rpt = Report('peaks'); surf(peaks(20)); figure = Figure(); peaks20 = Image(getSnapshotImage(figure,rpt)); peaks20.Width = '3in'; peaks20.Height = []; delete(gcf); surf(peaks(40)); figure = Figure(); peaks40 = Image(getSnapshotImage(figure,rpt)); peaks40.Width = '3in'; peaks40.Height = []; delete(gcf); t = Table({peaks20,peaks40;'peaks(20)','peaks(40)'}); add(rpt,t); close(rpt); rptview(rpt);
此示例生成一个 PDF 报告,说明了使用 print
命令调整图窗快照图像大小与使用 Snapshot
报告器的 Figure
属性指定的报告器调整大小之间的区别。
创建一个较宽的 MATLAB® 图窗。从图中创建三个 mlreportgen.report.Figure
报告器并将其添加到报告中。
第一个
Figure
报告器没有调整图窗大小。第二个
Figure
报告器使用print
命令来调整图窗大小。第三个
Figure
报告器使用Snapshot
报告器来调整图窗大小。
import mlreportgen.report.* fig = figure(); ax = axes(fig); plot(ax, rand(1,100)); pos = fig.Position; fig.Position = [pos(1) pos(2) 2*pos(3) pos(4)]; rpt = Report('example','pdf'); add(rpt, "Intrinsic figure size"); figReporter0 = Figure(fig); figReporter0.Scaling = 'none'; add(rpt,figReporter0); add(rpt, "Resized by print command"); figReporter1 = Figure(fig); add(rpt,figReporter1); add(rpt, "Resized by snapshot reporter"); figReporter2 = Figure(fig); figReporter2.Scaling = 'none'; figReporter2.Snapshot.ScaleToFit = true; add(rpt,figReporter2);
close(rpt); delete(fig) rptview(rpt);
以下是生成的报告中的数字:
限制
在没有监视器的服务器上生成报告时,
Figure
报告器无法拍摄快照。
提示
报告生成器根据 Scaling 属性的值计算图窗快照的宽度和高度。图例是浮动元素,与坐标区或图窗内容没有紧密绑定。当使用
Scaling
值调整图窗的尺寸时,报告中的图例位置可能会与图窗中的位置发生偏移。
版本历史记录
在 R2017b 中推出使用 Theme
属性设置打印快照时使用的图形主题,指定为 "light"
或 "dark"
。如果 PreserveBackgroundColor
属性为 true,则忽略 Theme
属性。
报告生成器不再支持 BMP(位图)作为输出图像格式。这会影响报表资源管理器和报表、DOM 和 PPT API 中的快照、文件中的图像和水印。有关详细信息,请参阅 print
。
从 R2019b 开始,Word 报告支持可缩放矢量图 (SVG) 图像。对于所有报告类型(HTML、PDF 和 Word),SnapshotFormat
属性的默认值为 'svg'
,而 'auto'
属性值表示 'svg'
。在以前的版本中,SnapshotFormat
属性的默认值为 'auto'
,对于 HTML 和 PDF 报告,它表示为 'svg'
;对于 Word 报告,它表示为 'emf'
或 'png'
,具体取决于平台。
包含 SVG 图像的 Word 报告需要 Word 2016 或更高版本。在 MATLAB R2019b 或更高版本中,要生成与早期版本的 Word 兼容的图像的报告,请将 SnapshotFormat
属性设置为 'svg'
以外的值。要指定 MATLAB 早期版本中默认使用的图像格式,请将 SnapshotFormat
设置为:
"emf"
适用于 Windows 平台"png"
适用于 UNIX® 或 Mac 平台
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)