Hauptinhalt

Line

Line annotation on figure

  • Line annotation

Description

Draw a line annotation anywhere on a figure. Set properties of a Line object to control its appearance.

Creation

Create a line annotation on a figure using the annotation function.

annotation("line") 

Alternatively, create a line annotation by clicking the figure and selecting Line in the gallery on the Figure tab.

Properties

expand all

Color and Styling

Line color, specified as an RGB triplet, a hexadecimal color code, a color name, or a short name. The default value of [0 0 0] corresponds to black.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1], for example, [0.4 0.6 0.7].

  • A hexadecimal color code is a string scalar or character vector that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Therefore, the color codes "#FF8800", "#ff8800", "#F80", and "#f80" are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and the hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"Not applicableNot applicableNot applicableNo color

This table lists the default color palettes for plots in the light and dark themes.

PalettePalette Colors

"gem" — Light theme default

Before R2025a: Most plots use these colors by default.

Sample of the "gem" color palette

"glow" — Dark theme default

Sample of the "glow" color palette

You can get the RGB triplets and hexadecimal color codes for these palettes using the orderedcolors and rgb2hex functions. For example, get the RGB triplets for the "gem" palette and convert them to hexadecimal color codes.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Before R2023b: Get the RGB triplets using RGB = get(groot,"FactoryAxesColorOrder").

Before R2024a: Get the hexadecimal color codes using H = compose("#%02X%02X%02X",round(RGB*255)).

Example: "blue"

Example: [0 0 1]

Example: "#0000FF"

Line style, specified as one of the options listed in this table.

Line StyleDescriptionResulting Line
"-"Solid line

Sample of solid line

"--"Dashed line

Sample of dashed line

":"Dotted line

Sample of dotted line

"-."Dash-dotted line

Sample of dash-dotted line, with alternating dashes and dots

"none"No lineNo line

Line width, specified as a positive value in point units. One point equals 1/72 inch.

Example: 0.75

Position

Beginning and ending x-coordinates, specified as a two-element vector of the form [x_begin x_end].

By default, the units are normalized to the figure. The lower-left corner of the figure maps to (0,0) and the upper-right corner maps to (1,1). To change the units, use the Units property.

Example: [0.2 0.3]

Beginning and ending y-coordinates, specified as a two-element vector of the form [y_begin y_end].

By default, the units are normalized to the figure. The lower-left corner of the figure maps to (0,0) and the upper-right corner maps to (1,1). To change the units, use the Units property.

Example: [0.2 0.3]

Size and location, specified as a four-element vector of the form [x_begin y_begin dx dy]. The first two elements specify the coordinates of the starting point of the line. The second two elements specify the slope of the line.

By default, the units are normalized to the figure. The lower-left corner of the figure maps to (0,0) and the upper-right corner maps to (1,1). To change the units, use the Units property. To change the units, use the Units property.

Example: [0.2 0.2 0.3 0.3]

Position units, specified as one of the values in this table.

UnitsDescription
"normalized" (default)Normalized with respect to the figure, uipanel, or uitab that contains the annotation. The lower-left corner of the container maps to (0,0) and the upper-right corner maps to (1,1).
"inches"Inches.
"centimeters"Centimeters.
"characters"

Based on the default system font character size.

  • Character width = width of letter x.

  • Character height = distance between the baselines of two lines of text.

"points"Points. One point equals 1/72 inch.
"pixels"

Pixels.

On Windows® and Macintosh systems, the size of a pixel is 1/96th of an inch. This size is independent of your system resolution.

On Linux® systems, the size of a pixel is determined by your system resolution.

All units are measured from the lower-left corner of the figure window.

This property affects the Position property. If you change the units, then it is good practice to return it to the default value after completing your computation to prevent affecting other functions that assume Units is set to the default value.

If you specify the Position and Units properties using name-value arguments when creating the object, then the order of specification matters. If you want to define the position with particular units, then you must set the Units property before the Position property.

Examples

collapse all

Create a line annotation on a figure. Specify the horizontal range of the line using the form [x_begin x_end] and vertical range of the line using the form [y_begin y_end]. By default, the units are normalized to the figure. So, the lower-left corner of the figure maps to (0,0) and the upper-right corner maps to (1,1).

x = linspace(0,2);
y = x.^2;
plot(x,y)

xint = [0.36 0.89];
yint = [0.13 0.74];
annotation("line",xint,yint);

Figure contains an axes object. The axes object contains an object of type line.

Create a line annotation on a figure.

x = linspace(0,2*pi);
y = sin(x);
plot(x,y)
axis padded

xint = [0.23 0.45];
yint = [0.88 0.88];
an = annotation("line",xint,yint);

Figure contains an axes object. The axes object contains an object of type line.

Customize the line annotation by setting the line width, line color, and line style.

an.LineWidth = 3;
an.Color = "r";
an.LineStyle = ":";

Figure contains an axes object. The axes object contains an object of type line.

Create two line annotations on a figure.

x = linspace(0,4);
y = x.^2;
plot(x,y)

xint1 = [0.52 0.52];
yint1 = [0.11 0.32];
an1 = annotation("line",xint1,yint1);

xint2 = [0.71 0.71];
yint2 = [0.11 0.57];
an2 = annotation("line",xint2,yint2);

Figure contains an axes object. The axes object contains an object of type line.

Set the line style of both line annotations to be dashed.

an1.LineStyle = "--";
an2.LineStyle = "--";

Figure contains an axes object. The axes object contains an object of type line.

Version History

Introduced before R2006a