This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

mlreportgen.report.Figure class

Package: mlreportgen.report
Superclasses:

Figure reporter

Description

Create a figure reporter with a title, figure, and caption.

Construction

fig = Figure() creates a reporter that makes a snapshot of the figure currently open in MATLAB® and adds it to a report. Use the figure properties to add a caption or change the figure size. The snapshot image is stored in the temporary folder of the report. When the report is closed, the snapshot image is copied into the report and then, the image is deleted from the temporary folder. To prevent the snapshot image files from being deleted, use the Debug property of the report. See mlreportgen.report.Report.

fig = Figure(source) creates a reporter that adds the figure specified by source.

fig = Figure(Name,Value) sets properties using name-value pairs. You can specify multiple name-value pair arguments in any order. Enclose each property name in single or double quotes.

Input Arguments

expand all

See Source property.

Properties

expand all

Figure image, specified as an mlreportgen.report.FormalImage reporter class. The reporter uses gcf to obtain the current MATLAB figure. It uses the formal image reporter to insert the figure into a report. The figure reporter initializes the Snapshot property. Do not reset this property. Use the properties of the FormalImage object to specify the size of the snapshot or its caption.

Figure source, specified as a string or character array indicating the path to a valid figure file, or a valid graphics handle.

Snapshot image format, specified as a string or character array. Supported formats are:

  • auto — Uses .svg format for HTML or PDF output. Uses .emf format for Word output on Windows. Uses .png for Word output on Unix or Mac.

  • .bmp — Bitmap image

  • .gif — Graphics Interchange format

  • .jpg — JPEG image

  • .png — PNG image

  • .emf — Enhanced metafile, supported only in DOCX output on Windows® platforms

  • .svg — Scalable Vector Graphics

  • .tif — Tag Image File format, not supported in HTML output

  • .pdf — PDF image

Scaling options for figure snapshot image, specified as the string, auto or custom. Scaling controls size of the figure snapshot image in the image file.

  • auto — For PDF or Word (docx) output, scales the figure snapshot image to fit in the current page layout while maintaining its aspect ratio. First, the figure snapshot image is scaled to the page width. If the image height exceeds the page height, then the image is again scaled down. This additional scaling assures that the image fits in the current page with an extra 1" spacing. The extra spacing allows for extra text, such as a caption. Scaling does not apply to HTML output.

  • custom — Scales the figure snapshot image based on the values of the Height and Width properties.

Note

A java.lang.OutOfMemoryError can occur when you set Scaling to custom and have large values for the Height and Width properties. To avoid this error, use smaller Height and Width values, which ensures that the figure fits on the page.

Height of snapshot image for custom scaling, specified as a string. This property applies only if Scaling is set to custom.

The Height format is valueUnits, where Units is an abbreviation for the height units and value is the number of units. The table shows the valid Units abbreviations.

UnitsUnits Abbreviation
pixelspx
centimeterscm
inchesin
millimetersmm
picaspc
pointspt

Width of snapshot image for custom scaling, specified as a string. This property applies only if Scaling is set to custom.

The Width format is valueUnits, where Units is an abbreviation for the height units and value is the number of units. See the Height property for a table of valid Units abbreviations.

Source of template for this reporter, specified as one of these values:

  • String or character array specifying the path of the file containing the template for this reporter

  • Reporter or report whose template is used as the template for this reporter or whose template library contains the template for this reporter

  • DOM document or document part whose template is used as the template for this reporter or whose template library contains the template for this reporter

The specified template must be of the same type as the report to which this reporter is appended. For example, for a Word report, TemplateSrc must be a Word reporter template. If the TemplateSrc property is empty, this reporter uses the default reporter template for the output type of the report.

Name of template for this reporter, specified as a string or character array. The template for this reporter is in the template library of the template source (TemplateSrc) for this reporter.

Hyperlink target for this reporter, specified as a string or character array that specifies the link target ID, or an mlreportgen.dom.LinkTarget object. A string or character array value is converted to a LinkTarget object. The link target object immediately precedes the content of this reporter in the output report.

Methods

createTemplate Create figure template
customizeReporter Create custom figure reporter class
getClassFolder Figure class definition file location
getSnapshotImageGet snapshot image path

Inherited Methods

getImpl Get implementation of reporter

Copy Semantics

Handle. To learn how handle classes affect copy operations, see Copying Objects (MATLAB).

Examples

Add a Surface Plot Figure to a Report

Add a figure of a surface plot to a report and set its caption and height.

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);

Add Two Figures to a Report Page

Add two figures to a report. To place them next to each other on the page, use a DOM Table object.

import mlreportgen.report.*
import mlreportgen.dom.*
rpt = Report('peaks');

surf(peaks(20));
figure = Figure();
peaks20 = Image(getSnapshotImage(figure,report));
peaks20.Width = '3in';
peaks20.Height = [];

surf(peaks(40));
figure = Figure();
peaks40 = Image(getSnapshotImage(figure,report));
peaks40.Width = '3in';
peaks40.Height = [];
delete(gcf);

t = Table({peaks20,peaks40;'peaks(20)','peaks(40)'});
add(rpt,t);
close(rpt);
rptview(rpt);

Introduced in R2017b