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
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 from0toF. 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"
This table lists the default color palettes for plots in the light and dark themes.
Palette Palette Colors "gem"— Light theme defaultBefore R2025a: Most plots use these colors by default.

"glow"— Dark theme default
You can get the RGB triplets and hexadecimal color codes for these palettes using the
orderedcolorsandrgb2hexfunctions. 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: plot(G,'NodeColor','k') creates a graph plot with black
nodes.
Control how the NodeColor property is set, specified as one of these values:
'auto'— MATLAB® controls the value of theNodeColorproperty by using theSeriesIndexproperty of theGraphPlotobject and theColorOrderproperty of the axes.'manual'— You control the value of theNodeColorproperty manually, either by setting the value of theNodeColorproperty directly on the object, or by including a color in theLineSpecargument 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'.
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 from0toF. 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"
This table lists the default color palettes for plots in the light and dark themes.
Palette Palette Colors "gem"— Light theme defaultBefore R2025a: Most plots use these colors by default.

"glow"— Dark theme default
You can get the RGB triplets and hexadecimal color codes for these palettes using the
orderedcolorsandrgb2hexfunctions. 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: plot(G,'EdgeColor','r') creates a graph plot with red
edges.
Control how the EdgeColor property is set, specified as one of these values:
'auto'— MATLAB controls the value of theEdgeColorproperty by using theSeriesIndexproperty of theGraphPlotobject and theColorOrderproperty of the axes.'manual'— You control the value of theEdgeColorproperty manually, either by setting the value of theEdgeColorproperty directly on the object, or by including a color in theLineSpecargument 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'.
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.
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.
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
NodeColorModeis'auto', thenSeriesIndexaffects the color of the nodes.If
EdgeColorModeis'auto', thenSeriesIndexaffects the color of the edges.The
SeriesIndexproperty of theGraphPlotobject must have a value greater than 0.The
NextSeriesIndexproperty of theAxesobject must have a value greater than 0.
Node and Edge Styling
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'
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
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 |
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
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
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
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.
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
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.
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.
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
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.Nodesdoes not contain aNamevariable), 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
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.
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 from0toF. 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"
This table lists the default color palettes for plots in the light and dark themes.
Palette Palette Colors "gem"— Light theme defaultBefore R2025a: Most plots use these colors by default.

"glow"— Dark theme default
You can get the RGB triplets and hexadecimal color codes for these palettes using the
orderedcolorsandrgb2hexfunctions. 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: plot(G,'NodeLabel',C,'NodeLabelColor','m') creates a graph
plot with magenta node labels.
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
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.
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 from0toF. 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"
This table lists the default color palettes for plots in the light and dark themes.
Palette Palette Colors "gem"— Light theme defaultBefore R2025a: Most plots use these colors by default.

"glow"— Dark theme default
You can get the RGB triplets and hexadecimal color codes for these palettes using the
orderedcolorsandrgb2hexfunctions. 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: plot(G,'EdgeLabel',C,'EdgeLabelColor','m') creates a graph
plot with magenta edge labels.
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
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'
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.
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
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
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'
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.
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
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
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
legendfunction, then the legend uses the specified text and sets theDisplayNameproperty to the same value.If you do not specify the text as an input argument to the
legendfunction, then the legend uses the text in theDisplayNameproperty. If theDisplayNameproperty does not contain any text, then the legend generates a character vector. The character vector has the form'dataN', whereNis 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.
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
Annotationproperty to get theAnnotationobject.Query the
LegendInformationproperty of theAnnotationobject to get theLegendEntryobject.Specify the
IconDisplayStyleproperty of theLegendEntryobject 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
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.
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.
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.
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 itsSelectedproperty to'on'. If theSelectionHighlightproperty also is set to'on', then MATLAB displays selection handles around the object.'off'— Not selected.
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 theSelectedproperty is set to'on'.'off'— Never display selection handles, even when theSelectedproperty is set to'on'.
Callbacks
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}
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
CallbackObjectproperty of the root, which can be queried using thegcbofunction.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}
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
CallbackObjectproperty of the root, which can be queried using thegcbofunction.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
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
Interruptibleis'off', then no interruption occurs. Instead, theBusyActionproperty 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
Interruptibleis'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, orSizeChangedFcncallback, then the interruption occurs regardless of theInterruptibleproperty value.If the running callback is currently executing the
waitforfunction, then the interruption occurs regardless of theInterruptibleproperty value.If the interrupting callback is owned by a
Timerobject, then the callback executes according to schedule regardless of theInterruptibleproperty value.
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.
Ability to capture mouse clicks, specified as one of these values:
'visible'— Can capture mouse clicks only when visible. TheVisibleproperty must be set to'on'. TheHitTestproperty 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. TheHitTestproperty of the GraphPlot has no effect.
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 theButtonDownFcncallback of theGraphPlotobject. If you have defined theContextMenuproperty, then invoke the context menu.'off'— Trigger the callbacks for the nearest ancestor of theGraphPlotobject that meets one of these conditions:HitTestproperty is set to'on'.PickablePartsproperty 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.
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 of GraphPlot, specified as an axes, group, or transform object.
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.
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 theHandleVisibilityto'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
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 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
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 R2015bOpt 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.
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.
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)