GraphPlot Properties
Graph plot appearance and behavior
GraphPlot
properties control the appearance and behavior of
plotted graphs. By changing property values, you can modify aspects of the graph display. Use dot
notation to refer to a particular object and property:
G = graph([1 1 1 1 5 5 5 5],[2 3 4 5 6 7 8 9]); h = plot(G); c = h.EdgeColor; h.EdgeColor = 'k';
Color
NodeColor
— Node color
[0 0.4470 0.7410]
(default) | RGB triplet | hexadecimal color code | color name | matrix | 'flat'
| 'none'
Node color, specified as one of these values:
'none'
— Nodes are not drawn.'flat'
— Color of each node depends on the value ofNodeCData
.matrix — Each row is an RGB triplet representing the color of one node. The size of the matrix is
numnodes(G)
-by-3
.RGB triplet, hexadecimal color code, or color name — All nodes use the specified color.
RGB triplets and hexadecimal color codes are useful for specifying custom colors.
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 from0
toF
. 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 Name Short Name RGB Triplet Hexadecimal Color Code Appearance "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"
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB® uses in many types of plots.
RGB Triplet Hexadecimal Color Code Appearance [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: plot(G,'NodeColor','k')
creates a graph plot with black
nodes.
NodeColorMode
— Control how NodeColor
is set
'auto'
(default) | 'manual'
Control how the NodeColor
property is set, specified as one of these values:
'auto'
— MATLAB controls the value of theNodeColor
property by using theSeriesIndex
property of theGraphPlot
object and theColorOrder
property of the axes.'manual'
— You control the value of theNodeColor
property manually, either by setting the value of theNodeColor
property directly on the object, or by including a color in theLineSpec
argument when you call a plotting function.
If you change the value of the NodeColor
or
NodeCData
property manually, MATLAB changes the value of the NodeColorMode
property to
'manual'
.
EdgeColor
— Edge color
[0 0.4470 0.7410]
(default) | RGB triplet | hexadecimal color code | color name | matrix | 'flat'
| 'none'
Edge color, specified as one of these values:
'none'
— Edges are not drawn.'flat'
— Color of each edge depends on the value ofEdgeCData
.matrix — Each row is an RGB triplet representing the color of one edge. The size of the matrix is
numedges(G)
-by-3
.RGB triplet, hexadecimal color code, or color name — All edges use the specified color.
RGB triplets and hexadecimal color codes are useful for specifying custom colors.
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 from0
toF
. 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 Name Short Name RGB Triplet Hexadecimal Color Code Appearance "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"
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet Hexadecimal Color Code Appearance [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: plot(G,'EdgeColor','r')
creates a graph plot with red
edges.
EdgeColorMode
— Control how EdgeColor
is set
'auto'
(default) | 'manual'
Control how the EdgeColor
property is set, specified as one of these values:
'auto'
— MATLAB controls the value of theEdgeColor
property by using theSeriesIndex
property of theGraphPlot
object and theColorOrder
property of the axes.'manual'
— You control the value of theEdgeColor
property manually, either by setting the value of theEdgeColor
property directly on the object, or by including a color in theLineSpec
argument when you call a plotting function.
If you change the value of the EdgeColor
or
EdgeCData
property manually, MATLAB changes the value of the EdgeColorMode
property to
'manual'
.
NodeCData
— Color data of node markers
vector
Color data of node markers, specified as a vector with length equal to the number of
nodes in the graph. The values in NodeCData
map linearly to the colors in
the current colormap, resulting in different colors for each node in the plotted graph.
EdgeCData
— Color data of edge lines
vector
Color data of edge lines, specified as a vector with length equal to the number of edges
in the graph. The values in EdgeCData
map linearly to the colors in the
current colormap, resulting in different colors for each edge in the plotted graph.
SeriesIndex
— Series index
positive whole number | "none"
Series index, specified as a positive whole number or "none"
. This
property is useful for reassigning the node or edge colors of several
GraphPlot
objects so that they match each other. By default, the
SeriesIndex
property of a GraphPlot
object is a
number that corresponds to its order of creation, starting at 1
.
MATLAB uses the number to calculate indices for assigning colors when you call plotting
functions. The indices refer to the rows of the arrays stored in the
ColorOrder
property of the axes.
A SeriesIndex
value of
"none"
corresponds to a neutral color that does not participate in the
indexing scheme. (since R2023b)
MATLAB automatically updates the node and edge colors of the
GraphPlot
object when you change its SeriesIndex
,
or when you change the ColorOrder
property on the axes. However, the
following conditions must be true for the changes to have any effect:
If
NodeColorMode
is'auto'
, thenSeriesIndex
affects the color of the nodes.If
EdgeColorMode
is'auto'
, thenSeriesIndex
affects the color of the edges.The
SeriesIndex
property of theGraphPlot
object must have a value greater than 0.The
NextSeriesIndex
property of theAxes
object must have a value greater than 0.
Node and Edge Styling
Marker
— Node marker symbol
'o'
(default) | character vector | cell array | string vector
Node marker symbol, specified as one of the values listed in this table, or as a cell array or string vector of such values. The default is to use circular markers for the graph nodes. Specify a cell array of character vectors or string vector to use different markers for each node.
Marker | Description | Resulting Marker |
---|---|---|
"o" | Circle |
|
"+" | Plus sign |
|
"*" | Asterisk |
|
"." | Point |
|
"x" | Cross |
|
"_" | Horizontal line |
|
"|" | Vertical line |
|
"square" | Square |
|
"diamond" | Diamond |
|
"^" | Upward-pointing triangle |
|
"v" | Downward-pointing triangle |
|
">" | Right-pointing triangle |
|
"<" | Left-pointing triangle |
|
"pentagram" | Pentagram |
|
"hexagram" | Hexagram |
|
"none" | No markers | Not applicable |
Example: '+'
Example: 'diamond'
MarkerSize
— Node marker size
positive value | vector
Node marker size, specified as a positive value in point units or as a vector of such
values. Specify a vector to use different marker sizes for each node in the graph. The default
value of MarkerSize
is 4 for graphs with 100 or fewer nodes, and
2
for graphs with more than 100 nodes.
Example: 10
LineStyle
— Line style
'-'
(default) | '--'
| ':'
| '-.'
| 'none'
| cell array | string vector
Line style, specified as one of the line styles listed in this table, or as a cell array or string vector of such values. Specify a cell array of character vectors or string vector to use different line styles for each edge.
Character(s) | Line Style | Resulting Line |
---|---|---|
'-' | Solid line |
|
'--' | Dashed line |
|
':' | Dotted line |
|
'-.' | Dash-dotted line |
|
'none' | No line | No line |
LineWidth
— Edge line width
0.5
(default) | positive value | vector
Edge line width, specified as a positive value in point units, or as a vector of such values. Specify a vector to use a different line width for each edge in the graph.
Example: 0.75
EdgeAlpha
— Transparency of graph edges
0.5
(default) | scalar value between 0
and 1
inclusive
Transparency of graph edges, specified as a scalar value between 0
and
1
inclusive. A value of 1
means fully opaque and
0
means completely transparent (invisible).
Example: 0.25
ArrowSize
— Arrow size
positive value | vector of positive values
Arrow size, specified as a positive value in point units or as a vector of such values.
As a vector, ArrowSize
specifies the size of the arrow for each edge in the
graph. The default value of ArrowSize
is 7
for graphs
with 100 or fewer nodes, and 4
for graphs with more than 100 nodes.
ArrowSize
only affects directed graphs.
Example: 15
ArrowPosition
— Position of arrow along edge
0.5
(default) | scalar | vector
Position of arrow along edge, specified as a value in the range [0 1]
or as a vector of such values with length equal to the number of edges. A value near 0 places
arrows closer to the source node, and a value near 1 places arrows closer to the target node.
The default value is 0.5
so that the arrows are halfway between the source
and target nodes.
ArrowPosition
only affects directed graphs.
ShowArrows
— Toggle display of arrows on directed edges
on/off logical value
Toggle display of arrows on directed edges, specified as 'off'
or
'on'
, or as numeric or logical 1
(true
) or 0
(false
). A value of
'on'
is equivalent to true
, and
'off'
is equivalent to false
. Thus, you can use the
value of this property as a logical value. The value is stored as an on/off logical value of
type matlab.lang.OnOffSwitchState
.
For directed graphs the default value is 'on'
so that arrows are
displayed, but you can specify a value of 'off'
to hide the arrows on the
directed edges. For undirected graphs ShowArrows
is always
'off'
.
Position
XData
— x-coordinate of nodes
vector
Note
XData
and YData
must be specified together so that
each node has a valid (x,y) coordinate. Optionally, you
can specify ZData
for 3-D coordinates.
x-coordinate of nodes, specified as a vector with length equal to the number of nodes in the graph.
YData
— y-coordinate of nodes
vector
Note
XData
and YData
must be specified together so that
each node has a valid (x,y) coordinate. Optionally, you
can specify ZData
for 3-D coordinates.
y-coordinate of nodes, specified as a vector with length equal to the number of nodes in the graph.
ZData
— z-coordinate of nodes
vector
Note
XData
and YData
must be specified together so that
each node has a valid (x,y) coordinate. Optionally, you
can specify ZData
for 3-D coordinates.
z-coordinate of nodes, specified as a vector with length equal to the number of nodes in the graph.
Node and Edge Labels
NodeLabel
— Node labels
node IDs (default) | vector | cell array of character vectors
Node labels, specified as a numeric vector or cell array of character vectors. The length
of NodeLabel
must be equal to the number of nodes in the graph. By default
NodeLabel
is a cell array containing the node IDs for the graph
nodes:
For nodes without names (that is,
G.Nodes
does not contain aName
variable), the node labels are the valuesunique(G.Edges.EndNodes)
contained in a cell array.For named nodes, the node labels are
G.Nodes.Name'
.
Example: {'A', 'B', 'C'}
Example: [1 2 3]
Example: plot(G,'NodeLabel',G.Nodes.Name)
labels the nodes with their
names.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| cell
NodeLabelMode
— Selection mode for node labels
'auto'
(default) | 'manual'
Selection mode for node labels, specified as 'auto'
(default) or
'manual'
. Specify NodeLabelMode
as
'auto'
to populate NodeLabel
with the node IDs for the
graph nodes (numeric node indices or node names). Specifying NodeLabelMode
as 'manual'
does not change the values in
NodeLabel
.
NodeLabelColor
— Color of node labels
[0 0 0]
(default) | RGB triplet | hexadecimal color code | color name | matrix
Node label color, specified as one of these values:
matrix — Each row is an RGB triplet representing the color of one node label. The size of the matrix is
numnodes(G)
-by-3
.RGB triplet, hexadecimal color code, or color name — All node labels use the specified color.
RGB triplets and hexadecimal color codes are useful for specifying custom colors.
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 from0
toF
. 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 Name Short Name RGB Triplet Hexadecimal Color Code Appearance "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"
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet Hexadecimal Color Code Appearance [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: plot(G,'NodeLabel',C,'NodeLabelColor','m')
creates a graph
plot with magenta node labels.
EdgeLabel
— Edge labels
{}
(default) | vector | cell array of character vectors
Edge labels, specified as a numeric vector or cell array of character vectors. The length
of EdgeLabel
must be equal to the number of edges in the graph. By default
EdgeLabel
is an empty cell array (no edge labels are displayed).
Example: {'A', 'B', 'C'}
Example: [1 2 3]
Example: plot(G,'EdgeLabels',G.Edges.Weight)
labels the graph edges
with their weights.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| cell
EdgeLabelMode
— Selection mode for edge labels
'manual'
(default) | 'auto'
Selection mode for edge labels, specified as 'manual'
(default) or
'auto'
. Specify EdgeLabelMode
as
'auto'
to populate EdgeLabel
with the edge weights in
G.Edges.Weight
(if available), or the edge indices
G.Edges(k,:)
(if no weights are available). Specifying
EdgeLabelMode
as 'manual'
does not change the values in
EdgeLabel
.
EdgeLabelColor
— Color of edge labels
[0 0 0]
(default) | RGB triplet | hexadecimal color code | color name | matrix
Edge label color, specified as one of these values:
matrix — Each row is an RGB triplet representing the color of one edge label. The size of the matrix is
numedges(G)
-by-3
.RGB triplet, hexadecimal color code, or color name — All edge labels use the specified color.
RGB triplets and hexadecimal color codes are useful for specifying custom colors.
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 from0
toF
. 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 Name Short Name RGB Triplet Hexadecimal Color Code Appearance "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"
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet Hexadecimal Color Code Appearance [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: plot(G,'EdgeLabel',C,'EdgeLabelColor','m')
creates a graph
plot with magenta edge labels.
Interpreter
— Interpretation of text characters
'tex'
(default) | 'latex'
| 'none'
Interpretation of text characters, specified as one of these values:
'tex'
— Interpret characters using a subset of TeX markup.'latex'
— Interpret characters using LaTeX markup.'none'
— Display literal characters.
TeX Markup
By default, MATLAB supports a subset of TeX markup. Use TeX markup to add superscripts and subscripts, modify the font type and color, and include special characters in the text.
Modifiers remain in effect until the end of the text.
Superscripts and subscripts are an exception because they modify only the next character or the
characters within the curly braces. When you set the interpreter to 'tex'
,
the supported modifiers are as follows.
Modifier | Description | Example |
---|---|---|
^{ } | Superscript | 'text^{superscript}' |
_{ } | Subscript | 'text_{subscript}' |
\bf | Bold font | '\bf text' |
\it | Italic font | '\it text' |
\sl | Oblique font (usually the same as italic font) | '\sl text' |
\rm | Normal font | '\rm text' |
\fontname{ | Font name — Replace
with the name of
a font family. You can use this in combination with other modifiers. | '\fontname{Courier} text' |
\fontsize{ | Font size —Replace
with a numeric
scalar value in point units. | '\fontsize{15} text' |
\color{ | Font color — Replace
with one of
these colors: red , green ,
yellow , magenta ,
blue , black ,
white , gray ,
darkGreen , orange , or
lightBlue . | '\color{magenta} text' |
\color[rgb]{specifier} | Custom font color — Replace
with a
three-element RGB triplet. | '\color[rgb]{0,0.5,0.5} text' |
This table lists the supported special characters for the
'tex'
interpreter.
Character Sequence | Symbol | Character Sequence | Symbol | Character Sequence | Symbol |
---|---|---|---|---|---|
| α |
| υ |
| ~ |
| ∠ |
| ϕ |
| ≤ |
|
|
| χ |
| ∞ |
| β |
| ψ |
| ♣ |
| γ |
| ω |
| ♦ |
| δ |
| Γ |
| ♥ |
| ϵ |
| Δ |
| ♠ |
| ζ |
| Θ |
| ↔ |
| η |
| Λ |
| ← |
| θ |
| Ξ |
| ⇐ |
| ϑ |
| Π |
| ↑ |
| ι |
| Σ |
| → |
| κ |
| ϒ |
| ⇒ |
| λ |
| Φ |
| ↓ |
| µ |
| Ψ |
| º |
| ν |
| Ω |
| ± |
| ξ |
| ∀ |
| ≥ |
| π |
| ∃ |
| ∝ |
| ρ |
| ∍ |
| ∂ |
| σ |
| ≅ |
| • |
| ς |
| ≈ |
| ÷ |
| τ |
| ℜ |
| ≠ |
| ≡ |
| ⊕ |
| ℵ |
| ℑ |
| ∪ |
| ℘ |
| ⊗ |
| ⊆ |
| ∅ |
| ∩ |
| ∈ |
| ⊇ |
| ⊃ |
| ⌈ |
| ⊂ |
| ∫ |
| · |
| ο |
| ⌋ |
| ¬ |
| ∇ |
| ⌊ |
| x |
| ... |
| ⊥ |
| √ |
| ´ |
| ∧ |
| ϖ |
| ∅ |
| ⌉ |
| 〉 |
| | |
| ∨ |
| 〈 |
| © |
LaTeX Markup
To use LaTeX markup, set the Interpreter
property to
'latex'
. Use dollar symbols around the text, for example, use
'$\int_1^{20} x^2 dx$'
for inline mode or '$$\int_1^{20} x^2
dx$$'
for display mode.
The displayed text uses the default LaTeX font style. The FontName
,
FontWeight
, and FontAngle
properties do not have an
effect. To change the font style, use LaTeX markup.
The maximum size of the text that you can use with the LaTeX interpreter is 1200 characters.
For more information about the LaTeX system, see The LaTeX Project website at https://www.latex-project.org/.
Font
NodeFontName
— Font name for node labels
'Helvetica'
(default) | supported font name | 'FixedWidth'
Font name for node labels, specified as a supported font name or
'FixedWidth'
. For labels to display and print properly, you must choose a
font that your system supports. The default font depends on the specific operating system and
locale. For example, Windows® and Linux® systems in English localization use the Helvetica font by default.
To use a fixed-width font that looks good in any locale, specify
'FixedWidth'
.
Example: 'Cambria'
NodeFontSize
— Font size for node labels
positive number | vector of positive numbers
Font size for node labels, specified as a positive number or a vector of positive
numbers. If NodeFontSize
is a vector, then each element specifies the font
size of one node label. The default font size depends on the specific operating system and
locale.
NodeFontWeight
— Thickness of text in node labels
'normal'
(default) | 'bold'
| vector | cell array
Thickness of text in node labels, specified as 'normal'
,
'bold'
, or as a string vector or cell array of character vectors
specifying 'normal'
or 'bold'
for each node.
'bold'
— Thicker character outlines than normal'normal'
— Normal weight as defined by the particular font
Not all fonts have a bold font weight.
Data Types: cell
| char
| string
NodeFontAngle
— Character slant of text in node labels
'normal'
(default) | 'italic'
| vector | cell array
Character slant of text in node labels, specified as 'normal'
,
'italic'
, or as a string vector or cell array of character vectors
specifying 'normal'
or 'italic'
for each node.
'italic'
— Slanted characters'normal'
— No character slant
Not all fonts have both font styles.
Data Types: cell
| char
| string
EdgeFontName
— Font name for edge labels
'Helvetica'
(default) | supported font name | 'FixedWidth'
Font name for edge labels, specified as a supported font name or
'FixedWidth'
. For labels to display and print properly, you must choose a
font that your system supports. The default font depends on the specific operating system and
locale. For example, Windows and Linux systems in English localization use the Helvetica font by default.
To use a fixed-width font that looks good in any locale, specify
'FixedWidth'
.
Example: 'Cambria'
EdgeFontSize
— Font size for edge labels
positive number | vector of positive numbers
Font size for edge labels, specified as a positive number or a vector of positive
numbers. If EdgeFontSize
is a vector, then each element specifies the font
size of one edge label. The default font size depends on the specific operating system and
locale.
EdgeFontWeight
— Thickness of text in edge labels
'normal'
(default) | 'bold'
| vector | cell array
Thickness of text in edge labels, specified as 'normal'
,
'bold'
, or as a string vector or cell array of character vectors
specifying 'normal'
or 'bold'
for each edge.
'bold'
— Thicker character outlines than normal'normal'
— Normal weight as defined by the particular font
Not all fonts have a bold font weight.
Data Types: cell
| char
| string
EdgeFontAngle
— Character slant of text in edge labels
'normal'
(default) | 'italic'
| vector | cell array
Character slant of text in edge labels, specified as 'normal'
,
'italic'
, or as a string vector or cell array of character vectors
specifying 'normal'
or 'italic'
for each edge.
'italic'
— Slanted characters'normal'
— No character slant
Not all fonts have both font styles.
Data Types: cell
| char
| string
Legend
DisplayName
— Text used by legend
''
(default) | character vector
Text used by the legend, specified as a character vector. The text appears next to an icon of the GraphPlot.
Example: 'Text Description'
For multiline text, create the character vector using sprintf
with the
new line character \n
.
Example: sprintf('line one\nline two')
Alternatively, you can specify the legend text using the legend
function.
If you specify the text as an input argument to the
legend
function, then the legend uses the specified text and sets theDisplayName
property to the same value.If you do not specify the text as an input argument to the
legend
function, then the legend uses the text in theDisplayName
property. If theDisplayName
property does not contain any text, then the legend generates a character vector. The character vector has the form'dataN'
, whereN
is the number assigned to the GraphPlot object based on its location in the list of legend entries.
If you edit interactively the character vector in an existing legend, then MATLAB updates the DisplayName
property to the edited character
vector.
Annotation
— Legend icon display style
Annotation
object
This property is read-only.
Legend icon display style, returned as an Annotation
object. Use this
object to include or exclude the GraphPlot from a legend.
Query the
Annotation
property to get theAnnotation
object.Query the
LegendInformation
property of theAnnotation
object to get theLegendEntry
object.Specify the
IconDisplayStyle
property of theLegendEntry
object to one of these values:'on'
— Include the GraphPlot object in the legend as one entry (default).'off'
— Do not include the GraphPlot object in the legend.'children'
— Include only children of the GraphPlot object as separate entries in the legend.
If a legend already exists and you change the
IconDisplayStyle
setting, then you must call legend
to
update the display.
Interactivity
DataTipTemplate
— Data tip content
DataTipTemplate
object
Data tip content, specified as a DataTipTemplate
object. You can
control the content that appears in a data tip by modifying the properties of the
underlying DataTipTemplate
object. For a list of properties, see
DataTipTemplate Properties.
For an example of modifying data tips, see Create Custom Data Tips.
Note
The DataTipTemplate
object is not returned by
findobj
or findall
, and it is not
copied by copyobj
.
Visible
— State of visibility
"on"
(default) | on/off logical value
State of visibility, specified as "on"
or "off"
, or as
numeric or logical 1
(true
) or
0
(false
). A value of "on"
is equivalent to true
, and "off"
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
"on"
— Display the object."off"
— Hide the object without deleting it. You still can access the properties of an invisible object.
ContextMenu
— Context menu
empty GraphicsPlaceholder
array (default) | ContextMenu
object
Context menu, specified as a ContextMenu
object. Use this property
to display a context menu when you right-click the object. Create the context menu using
the uicontextmenu
function.
Note
If the PickableParts
property is set to
'none'
or if the HitTest
property is set
to 'off'
, then the context menu does not appear.
Selected
— Selection state
'off'
(default) | on/off logical value
Selection state, specified as 'on'
or 'off'
, or as
numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Selected. If you click the object when in plot edit mode, then MATLAB sets itsSelected
property to'on'
. If theSelectionHighlight
property also is set to'on'
, then MATLAB displays selection handles around the object.'off'
— Not selected.
SelectionHighlight
— Display of selection handles
'on'
(default) | on/off logical value
Display of selection handles when selected, specified as 'on'
or
'off'
, or as numeric or logical 1
(true
) or 0
(false
). A
value of 'on'
is equivalent to true, and 'off'
is
equivalent to false
. Thus, you can use the value of this property as
a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Display selection handles when theSelected
property is set to'on'
.'off'
— Never display selection handles, even when theSelected
property is set to'on'
.
Callbacks
ButtonDownFcn
— Mouse-click callback
''
(default) | function handle | cell array | character vector
Mouse-click callback, specified as one of these values:
Function handle
Cell array containing a function handle and additional arguments
Character vector that is a valid MATLAB command or function, which is evaluated in the base workspace (not recommended)
Use this property to execute code when you click the GraphPlot. If you specify this property using a function handle, then MATLAB passes two arguments to the callback function when executing the callback:
The GraphPlot object — You can access properties of the GraphPlot object from within the callback function.
Event data — This argument is empty for this property. Replace it with the tilde character (
~
) in the function definition to indicate that this argument is not used.
For more information on how to use function handles to define callback functions, see Create Callbacks for Graphics Objects.
Note
If the PickableParts
property is set to 'none'
or if the HitTest
property is set to 'off'
, then this
callback does not execute.
Example: @myCallback
Example: {@myCallback,arg3}
CreateFcn
— Creation callback
''
(default) | function handle | cell array | character vector
Creation callback, specified as one of these values:
Function handle
Cell array containing a function handle and additional arguments
Character vector that is a valid MATLAB command or function, which is evaluated in the base workspace (not recommended)
Use this property to execute code when you create the GraphPlot.
Setting the CreateFcn
property on an existing GraphPlot
has no effect. You must define a default value for this property, or define this property
using a Name,Value
pair during GraphPlot creation.
MATLAB executes the callback after creating the GraphPlot and setting
all of its properties.
If you specify this callback using a function handle, then MATLAB passes two arguments to the callback function when executing the callback:
The GraphPlot object — You can access properties of the GraphPlot object from within the callback function. You also can access the GraphPlot object through the
CallbackObject
property of the root, which can be queried using thegcbo
function.Event data — This argument is empty for this property. Replace it with the tilde character (
~
) in the function definition to indicate that this argument is not used.
For more information on how to use function handles to define callback functions, see Create Callbacks for Graphics Objects.
Example: @myCallback
Example: {@myCallback,arg3}
DeleteFcn
— Deletion callback
''
(default) | function handle | cell array | character vector
Deletion callback, specified as one of these values:
Function handle
Cell array containing a function handle and additional arguments
Character vector that is a valid MATLAB command or function, which is evaluated in the base workspace (not recommended)
Use this property to execute code when you delete the GraphPlot. MATLAB executes the callback before destroying the GraphPlot so that the callback can access its property values.
If you specify this callback using a function handle, then MATLAB passes two arguments to the callback function when executing the callback:
The GraphPlot object — You can access properties of the GraphPlot object from within the callback function. You also can access the GraphPlot object through the
CallbackObject
property of the root, which can be queried using thegcbo
function.Event data — This argument is empty for this property. Replace it with the tilde character (
~
) in the function definition to indicate that this argument is not used.
For more information on how to use function handles to define callback functions, see Create Callbacks for Graphics Objects.
Example: @myCallback
Example: {@myCallback,arg3}
Callback Execution Control
Interruptible
— Callback interruption
'on'
(default) | on/off logical value
Callback interruption, specified as 'on'
or 'off'
, or as
numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true
, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
This property determines if a running callback can be interrupted. There are two callback states to consider:
The running callback is the currently executing callback.
The interrupting callback is a callback that tries to interrupt the running callback.
MATLAB determines callback interruption behavior whenever it executes a command that
processes the callback queue. These commands include drawnow
, figure
, uifigure
, getframe
, waitfor
, and pause
.
If the running callback does not contain one of these commands, then no interruption occurs. MATLAB first finishes executing the running callback, and later executes the interrupting callback.
If the running callback does contain one of these commands, then the
Interruptible
property of the object that owns the running
callback determines if the interruption occurs:
If the value of
Interruptible
is'off'
, then no interruption occurs. Instead, theBusyAction
property of the object that owns the interrupting callback determines if the interrupting callback is discarded or added to the callback queue.If the value of
Interruptible
is'on'
, then the interruption occurs. The next time MATLAB processes the callback queue, it stops the execution of the running callback and executes the interrupting callback. After the interrupting callback completes, MATLAB then resumes executing the running callback.
Note
Callback interruption and execution behave differently in these situations:
If the interrupting callback is a
DeleteFcn
,CloseRequestFcn
, orSizeChangedFcn
callback, then the interruption occurs regardless of theInterruptible
property value.If the running callback is currently executing the
waitfor
function, then the interruption occurs regardless of theInterruptible
property value.If the interrupting callback is owned by a
Timer
object, then the callback executes according to schedule regardless of theInterruptible
property value.
BusyAction
— Callback queuing
'queue'
(default) | 'cancel'
Callback queuing specified as 'queue'
or 'cancel'
.
The BusyAction
property determines how MATLAB handles the execution of interrupting callbacks.
Note
There are two callback states to consider:
The running callback is the currently executing callback.
The interrupting callback is a callback that tries to interrupt the running callback.
Whenever MATLAB invokes a callback, that callback attempts to interrupt a running callback. The
Interruptible
property of the object owning the running callback
determines if interruption is allowed. If interruption is not allowed, then the
BusyAction
property of the object owning the interrupting callback
determines if it is discarded or put in the queue.
If the ButtonDownFcn
callback of the GraphPlot tries
to interrupt a running callback that cannot be interrupted, then the
BusyAction
property determines if it is discarded or put in the queue.
Specify the BusyAction
property as one of these values:
'queue'
— Put the interrupting callback in a queue to be processed after the running callback finishes execution. This is the default behavior.'cancel'
— Discard the interrupting callback.
PickableParts
— Ability to capture mouse clicks
'visible'
(default) | 'none'
Ability to capture mouse clicks, specified as one of these values:
'visible'
— Can capture mouse clicks only when visible. TheVisible
property must be set to'on'
. TheHitTest
property determines if the GraphPlot responds to the click or if an ancestor does.'none'
— Cannot capture mouse clicks. Clicking the GraphPlot passes the click to the object below it in the current view of the figure window. TheHitTest
property of the GraphPlot has no effect.
HitTest
— Response to captured mouse clicks
'on'
(default) | on/off logical value
Response to captured mouse clicks, specified as 'on'
or
'off'
, or as numeric or logical 1
(true
) or 0
(false
). A
value of 'on'
is equivalent to true, and 'off'
is
equivalent to false
. Thus, you can use the value of this property as
a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Trigger theButtonDownFcn
callback of theGraphPlot
object. If you have defined theContextMenu
property, then invoke the context menu.'off'
— Trigger the callbacks for the nearest ancestor of theGraphPlot
object that meets one of these conditions:HitTest
property is set to'on'
.PickableParts
property is set to a value that enables the ancestor to capture mouse clicks.
Note
The PickableParts
property determines if
the GraphPlot
object can capture
mouse clicks. If it cannot, then the HitTest
property
has no effect.
BeingDeleted
— Deletion status
on/off logical value
This property is read-only.
Deletion status, returned as an on/off logical value of type matlab.lang.OnOffSwitchState
.
MATLAB sets the BeingDeleted
property to
'on'
when the DeleteFcn
callback begins
execution. The BeingDeleted
property remains set to
'on'
until the component object no longer exists.
Check the value of the BeingDeleted
property to verify that the object is not about to be deleted before querying or modifying it.
Parent/Child
Parent
— Parent of GraphPlot
axes object | group object | transform object
Parent of GraphPlot, specified as an axes, group, or transform object.
Children
— Children
empty GraphicsPlaceholder
array | DataTip
object array
Children, returned as an empty GraphicsPlaceholder
array or a
DataTip
object array. Use this property to view a list of data tips
that are plotted on the chart.
You cannot add or remove children using the Children
property. To add a
child to this list, set the Parent
property of the
DataTip
object to the chart object.
HandleVisibility
— Visibility of object handle
'on'
(default) | 'off'
| 'callback'
Visibility of GraphPlot object handle in the
Children
property of the parent, specified as one of these values:
'on'
— The GraphPlot object handle is always visible.'off'
— The GraphPlot object handle is invisible at all times. This option is useful for preventing unintended changes to the UI by another function. Set theHandleVisibility
to'off'
to temporarily hide the handle during the execution of that function.'callback'
— The GraphPlot object handle is visible from within callbacks or functions invoked by callbacks, but not from within functions invoked from the command line. This option blocks access to the GraphPlot at the command-line, but allows callback functions to access it.
If the GraphPlot object is not listed in the
Children
property of the parent, then functions that obtain object handles
by searching the object hierarchy or querying handle properties cannot return it. This
includes get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
, and close
.
Hidden object handles are still valid. Set the root
ShowHiddenHandles
property to 'on'
to list all object
handles regardless of their HandleVisibility
property setting.
Identifiers
Type
— Type of graphics object
'graphplot'
This property is read-only.
Type of graphics object, returned as 'graphplot'
. Use this property to
find all objects of a given type within a plotting hierarchy, such as searching for the type
using findobj
.
Tag
— Tag to associate with GraphPlot
''
(default) | character vector
Tag to associate with the GraphPlot, specified as a character vector.
Tags provide a way to identify graphics objects. Use this property to find all objects with a
specific tag within a plotting hierarchy, for example, searching for the tag using findobj
.
Example: 'January Data'
Data Types: char
UserData
— Data to associate with GraphPlot
[]
(default) | scalar, vector, or matrix | cell array | character array | table | structure
Data to associate with the GraphPlot object, specified as a scalar, vector, matrix, cell array, character array, table, or structure. MATLAB does not use this data.
To associate multiple sets of data or to attach a field name to the data, use the
getappdata
and setappdata
functions.
Example: 1:100
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| struct
| table
| cell
Version History
Introduced in R2015bR2023b: Opt out of automatic color selection with SeriesIndex="none"
Opt out of automatic color selection for GraphPlot
objects by setting the
SeriesIndex
property to "none"
. When you specify
"none"
, the GraphPlot
object has a neutral
color.
To enable automatic color selection again, set the SeriesIndex
property to a positive whole number.
R2020a: Control automatic color selection with the SeriesIndex
property
Control how GraphPlot
objects vary in color by setting the
SeriesIndex
property. This property is useful when you want to
match the colors of different objects in the axes.
R2020a: UIContextMenu
property is not recommended
Starting in R2020a, using the UIContextMenu
property to assign a
context menu to a graphics object or UI component is not recommended. Use the
ContextMenu
property instead. The property values are the same.
There are no plans to remove support for the UIContextMenu
property at
this time. However, the UIContextMenu
property no longer appears in the
list returned by calling the get
function on a graphics object or UI
component.
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.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)