Arrow Properties

Arrow appearance and behavior

Arrow properties control the appearance and behavior of an Arrow object. By changing property values, you can modify certain aspects of the arrow.

Starting in R2014b, you can use dot notation to query and set properties.

ar = annotation('arrow');
c = ar.Color;
ar.Color = 'red';

If you are using an earlier release, use the get and set functions instead.

Color and Styling

expand all

Arrow color, specified as an RGB triplet, a hexadecimal color code, a color name, or a short name. The default RGB triplet 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 character vector or a string scalar 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. Thus, 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 hexadecimal color codes.

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

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Example: 'blue'

Example: [0 0 1]

Style of arrow stem, specified as one of the line styles listed in this table.

Line StyleDescriptionResult
'-'Solid line

'--'Dashed line

':'Dotted line

'-.'Dash-dotted line

'none'No stemNo stem

Width of arrow stem, specified as a positive value in point units. One point equals 1/72 inch.

Example: 0.75

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Style of the arrowhead, specified as one of the styles in this table.

StyleResultStyleResult
'plain'

'fourstar'

'ellipse'

'rectangle'

'vback1'

'diamond'

'vback2' (default)

'rose'

'vback3'

'hypocycloid'

'cback1'

'astroid'

'cback2'

'deltoid'

'cback3'

'none'No arrowhead

Length of the arrowhead, specified as a scalar numeric value in point units. One point equals 1/72 inch. The arrowhead extends backwards from the point (x_end,y_end) determined by the X and Y properties.

Example: 15

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Width of the arrowhead, specified as a scalar numeric value in point units. One point equals 1/72 inch.

Example: 15

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Position

expand all

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.5]

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.5]

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 for the beginning of the arrow. The second two elements specify the slope of the arrow.

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.5 0.5 0.2 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.

Starting in R2015b, distances in pixels are independent of your system resolution on Windows® and Macintosh systems:

  • On Windows systems, a pixel is 1/96th of an inch.

  • On Macintosh systems, a pixel is 1/72nd of an inch.

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 as Name,Value pairs 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.

Introduced before R2006a