Control button group appearance and behavior in
uifigure
-based apps
Button groups are containers for managing exclusive selection of radio buttons and toggle buttons. Properties control the appearance and behavior of a button group. Use dot notation to refer to a specific object and property.
fig = uifigure; bg = uibuttongroup(fig); bg.Title = 'Options';
The properties listed here are valid for button groups in App Designer, or in apps
created with the uifigure
function. For button groups used in
GUIDE, or in apps created with the figure
function, see ButtonGroup Properties.
Title
— TitleTitle, specified as a character vector, string scalar, or categorical array. If you specify this property as a categorical array, MATLAB® displays only the first element in the array.
MATLAB does not interpret a vertical slash ('|'
) character as
a line break, it displays as a vertical slash in the title.
If you want to specify a Unicode® character, pass the Unicode decimal
code to the char
function.
For example, ['Multiples of ' char(960)]
displays
as Multiples of
π.
TitlePosition
— Location of title'lefttop'
(default) | 'centertop'
| 'righttop'
Location of the title, specified as 'lefttop'
,
'centertop'
, or 'righttop'
.
ForegroundColor
— Title color[0 0 0]
(default) | RGB triplet | hexadecimal color code | 'r'
| 'g'
| 'b'
| ...Title color, specified as an RGB triplet, a hexadecimal color code, or one of the color options listed in the table.
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 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 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' |
BackgroundColor
— Background color[.94 .94 .94]
(default) | RGB Triplet | hexadecimal color code | 'r'
| 'g'
| 'b'
| ...Background color, specified as an RGB triplet, a hexadecimal color code, or one of the color options listed in the table.
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 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 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' |
BorderType
— Button group border 'line'
(default) | 'none'
Button group border, specified as 'line'
or
'none'
.
FontName
— Font nameFont name, specified as a system supported font name. The default font depends on the specific operating system and locale.
If the specified font is not available, then MATLAB uses the best match among the fonts available on the system where the app is running.
Example: 'Arial'
FontSize
— Font sizeFont size, specified as a positive number. The units of measurement are pixels. The default font size depends on the specific operating system and locale.
Example: 14
FontWeight
— Font weight'normal'
(default) | 'bold'
Font weight, specified as one of these values:
'normal'
— Default weight
as defined by the particular font
'bold'
— Thicker character
outlines than 'normal'
Not all fonts have a bold font weight. Therefore, specifying a bold font weight can result in the normal font weight.
FontAngle
— Font angle'normal'
(default) | 'italic'
Font angle, specified as 'normal'
or 'italic'
.
Setting this property to italic
selects a slanted version of the
font, if it is available on the app user’s system.
FontUnits
— Font unit of measurement'pixels'
(default)Font unit of measurement, specified as 'pixels'
.
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.
Visible
— State of visibility'on'
(default) | on/off logical valueState 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 UI component.
To make your app start faster, set the Visible
property to
'off'
for all components that do not need to appear at
startup.
Changing the size of an invisible container triggers the
SizeChangedFcn
callback when it becomes visible.
Changing the Visible
property of a container does
not change the values of the Visible
properties of child components. This is true even though hiding the container causes the
child components to be hidden.
Buttons
— Buttons managed by button groupRadioButton
objects | array of ToggleButton
objectsThis property is read-only.
Buttons managed by the button group, returned as an array of RadioButton
objects or an array of ToggleButton
objects.
This property does not necessarily return all the child components of the
ButtonGroup
object. If you need to
access child components that are not RadioButton
or ToggleButton
objects, use the Children
property.
SelectedObject
— Currently selected radio button or toggle buttonCurrently selected radio button or toggle button, specified as a RadioButton
or a ToggleButton
object.
Get the value of this property to determine which button is currently selected within the button group.
Set the value of this property to change the currently selected button.
When you change the selection using this property, MATLAB adjusts the Value
property for the other
buttons within the button group accordingly.
For example, suppose that your button group contains three radio buttons
and you set the SelectedObject
property to
radiobutton3
. MATLAB sets the Value
property for each child
RadioButton
as follows:
radiobutton1.Value = false;
radiobutton2.Value = false;
radiobutton3.Value = true;
In other words, setting the SelectedObject
property
has the same effect as setting the Value
property of a
RadioButton
or ToggleButton
.
Scrollable
— Ability to scroll'off'
(default) | on/off logical valueAbility to scroll, 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
.
Setting this property to 'on'
enables scrolling within the
container. However, there are additional requirements:
The child components in the container must occupy a larger area than the container can display at one time.
Components that do not fit in the container must be above or to the right of the container. You cannot scroll to components that are below or to the left of the container.
Certain types of charts and axes do not support scrollable containers. However, you can place the chart or axes in a nonscrollable panel, and then place the panel in the scrollable container. For more information, see Display Graphics in App Designer.
Enable
— Operational state'on'
(default) | on/off logical valueOperational 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
.
If you set this property to 'on'
, the app user
can interact with the component.
If you set this property to 'off'
, the
component appears dimmed, indicating that the app user cannot
interact with it, and that it will not trigger a callback.
Changing the value of the Enable
property for a
button group does not change the value of the
Enable
property for UI components contained within
that button group.
Tooltip
— Tooltip''
(default) | character vector | cell array of character vectors | string array | 1-D categorical arrayTooltip, specified as a character vector, cell array of character vectors, string array, or 1-D categorical array. Use this property to display a message when the user hovers the pointer over the component at run time. To display multiple lines of text, specify a cell array of character vectors or a string array. Each element in the array becomes a separate line of text. If you specify this property as a categorical array, MATLAB uses the values in the array, not the full set of categories.
ContextMenu
— Context menuGraphicsPlaceholder
array (default) | ContextMenu
objectContext menu, specified as a ContextMenu
object created using the uicontextmenu
function. Use this property to display a context menu when
you right-click on a component.
Position
— Location and size of button group, including borders and title[left bottom width height]
Location and size of the button group, including borders and
title, specified as a vector of the form [left bottom width
height]
. This table describes each element in the vector.
Element | Description |
---|---|
left | Distance from the inner left edge of the parent container to the outer left edge of the button group |
bottom | Distance from the inner bottom edge of the parent container to the outer bottom edge of the button group |
width | Distance between the right and left outer edges of the button group |
height | Distance between the top and bottom outer edges of the button group |
All measurements specified
by the Units
property value.
The Position
values are relative to the
drawable area of the parent container. The drawable area is the area
inside the borders of the container and does not include the area occupied by decorations such
as a menu bar or title.
InnerPosition
— Location and size of button group, excluding borders and title[left bottom width height]
This property is read-only.
Location and size of the button group, excluding borders and title,
returned as a four-element vector of the form [left bottom width
height]
. This table describes each element in the
vector.
Value | Description |
---|---|
left | Distance from the inner left edge of the parent container to the inner left edge of the button group. |
bottom | Distance from the inner bottom edge of the parent container to the inner bottom edge of the button group. |
width | Distance between the inner edges of the button group’s right and left borders. |
height | Distance between the inner edges of the button group’s top and bottom borders. This distance excludes the title, if it exists. |
All measurements are in units specified by the
Units
property.
Note
These are some important points to consider when using the
InnerPosition
property:
InnerPosition
values are affected by
the presence (or absence) of a title, the font
characteristics, and the
BorderType
.
InnerPosition
values are relative to
the parent container’s drawable area.
The drawable area is the area inside the borders of the
container and does not include the area occupied by the
title.
OuterPosition
— Location and size of button group, including borders and title[left bottom width height]
Location and size of the button group, including borders and title,
specified as a four-element vector of the form [left bottom width
height]
. All measurements are in units specified by the
Units
property.
This property value is identical to the Position
property value.
Units
— Units of measurement'pixels'
(default)Units of measurement, specified as 'pixels'
.
AutoResizeChildren
— Automatically resize children'on'
(default) | on/off logical valueAutomatically resize children, 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'
— Child components automatically resize
when the container resizes.
'off'
— Child components do not resize.
The AutoResizeChildren
property affects direct
children of the container, not children inside nested containers.
To customize the resize behavior, set the AutoResizeChildren
property to 'off'
and create a SizeChangedFcn
callback for the container. For more information, see Manage Resizable Apps in App Designer.
To disable resizing of an app, set the Resize
property of the figure to
'off'
.
Layout
— Layout optionsLayoutOptions
array (default) | GridLayoutOptions
objectLayout options, specified as a
GridLayoutOptions
object. This property specifies
options for components that are children of grid layout containers. If the
component is not a child of a grid layout container (for example, it is a
child of a figure or panel), then this property is empty and has no effect.
However, if the component is a child of a grid layout container, you can
place the component in the desired row and column of the grid by setting the
Row
and Column
properties on
the GridLayoutOptions
object.
For example, this code places a button group in the third row and second column of its parent grid.
g = uigridlayout([4 3]); bg = uibuttongroup(g); bg.Layout.Row = 3; bg.Layout.Column = 2;
To make the button group span multiple rows or columns, specify the
Row
or Column
property as a
two-element vector. For example, this button group spans columns
2
through
3
:
bg.Layout.Column = [2 3];
SelectionChangedFcn
— Selection changed callback''
(default) | function handle | cell array | character vectorSelection changed callback, specified as one of these values:
A function handle.
A cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
A character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
This callback executes when the user selects a different button within the
button group in the app. It does not execute if a radio or toggle button
Value
property changes programmatically.
This callback function can access specific information about the user’s
interaction with the buttons. MATLAB passes this information in a SelectionChangedData
object as the second argument to your
callback function. In App Designer, the argument is called
event
. You can query the object properties using dot
notation. For example, event.NewValue
returns the
currently selected button. The SelectionChangedData
object is not available to callback
functions specified as character vectors.
The following table lists the properties of the SelectionChangedData
object.
Property | Description |
---|---|
OldValue | Previously selected button |
NewValue | Currently selected button |
Source | Component that executes the callback |
EventName |
|
For more information about writing callbacks, see Write Callbacks in App Designer.
SizeChangedFcn
— Size change callback''
(default) | function handle | cell array | character vectorSize change callback, specified as one of these values:
A function handle.
A cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
A character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
Define this callback to customize the app layout when the size of this container
changes (e.g., when the user resizes the window). In it, write code to adjust the
Position
property of the child components.
Note
The SizeChangedFcn
callback will not execute unless the
AutoResizeChildren
property of this container is set to
'off'
. In App Designer, you can make the
SizeChangedFcn
executable by selecting the container and
clearing the AutoResizeChildren check box in the
Inspector tab of the Component
Browser.
The SizeChangedFcn
callback executes when:
This container becomes visible for the first time.
This container is visible while its size changes.
This container becomes visible for the first time after its size changes. This situation occurs when the size changes while the container is invisible, and then it becomes visible later.
Other important points to consider when defining a SizeChangedFcn
callback:
Consider delaying the display of this container until after all the variables
that the SizeChangedFcn
uses are defined. This practice can
prevent the SizeChangedFcn
callback from returning an
error. To delay the display of the container, set its
Visible
property to 'off'
. Then, set
the Visible
property to 'on'
after you
define the variables that your SizeChangedFcn
callback
uses.
If your app contains nested containers, they resize from the inside out.
To access the container that is resizing from within the
SizeChangedFcn
, refer to the source object (the first
input argument in the callback) or use the gcbo
function.
Alternate ways to specify resize behavior are to create a
GridLayout
object or use the auto-reflow options in App
Designer. These options can be easier to use than SizeChangedFcn
callbacks. However, there are some advantages that SizeChangedFcn
callbacks have over these options. For example:
Resizing a component up to a minimum or maximum size that you define.
Implementing non-linear resize behaviors, like changing the size of a component based on the size of the parent container.
ButtonDownFcn
— Button-press callback function''
(default) | function handle | cell array | character vectorButton-press callback function, specified as one of these values:
A function handle.
A cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
A character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
For more information about specifying a callback property value as a function handle, cell array, or character vector, see How to Specify Callback Property Values.
The ButtonDownFcn
callback is a function that executes when the user
clicks a mouse button within the container.
CreateFcn
— Creation function''
(default) | function handle | cell array | character vectorObject creation function, specified as one of these values:
Function handle.
Cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
For more information about specifying a callback as a function handle, cell array, or character vector, see Write Callbacks in App Designer.
This property specifies a callback function to execute when MATLAB creates the object. MATLAB initializes all property values before executing the CreateFcn
callback. If you do not specify the CreateFcn
property, then MATLAB executes a default creation function.
Setting the CreateFcn
property on an existing component has no effect.
If you specify this property as a function handle or cell array, you can access the object that is being created using the first argument of the callback function. Otherwise, use the gcbo
function to access the object.
DeleteFcn
— Deletion function''
(default) | function handle | cell array | character vectorObject deletion function, specified as one of these values:
Function handle.
Cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
For more information about specifying a callback as a function handle, cell array, or character vector, see Write Callbacks in App Designer.
This property specifies a callback function to execute when MATLAB deletes the object. MATLAB executes the DeleteFcn
callback before destroying the
properties of the object. If you do not specify the DeleteFcn
property, then MATLAB executes a default deletion function.
If you specify this property as a function handle or cell array, you can access the
object that is being deleted using the first argument of the callback function.
Otherwise, use the gcbo
function to access the
object.
Interruptible
— Callback interruption'on'
(default) | on/off logical valueCallback 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.
Whenever MATLAB invokes a callback, that callback attempts to interrupt the running
callback (if one exists). The Interruptible
property of the object
owning the running callback determines if interruption is allowed.
A value of 'on'
allows other callbacks to interrupt the
object's callbacks. The interruption occurs at the next point where
MATLAB processes the queue, such as when there is a drawnow
, figure
, uifigure
, getframe
, waitfor
, or pause
command.
If the running callback contains one of those commands, then MATLAB stops the execution of the callback at that point and executes the interrupting callback. MATLAB resumes executing the running callback when the interrupting callback completes.
If the running callback does not contain one of those commands, then MATLAB finishes executing the callback without interruption.
A value of 'off'
blocks all interruption attempts. The
BusyAction
property of the object owning the
interrupting callback determines if the interrupting callback is discarded
or put into a queue.
Note
Callback interruption and execution behave differently in these situations:
If the interrupting callback is a DeleteFcn
, CloseRequestFcn
or SizeChangedFcn
callback, then the interruption occurs regardless of the Interruptible
property value.
If the running callback is currently executing the waitfor
function, then the interruption occurs regardless of the Interruptible
property value.
Timer
objects execute according to schedule regardless of the Interruptible
property value.
When an interruption occurs, MATLAB does not save the state of properties or the display. For example, the
object returned by the gca
or gcf
command might change when
another callback executes.
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. 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 permitted. If interruption is not permitted, then the BusyAction
property of the object owning the interrupting callback determines if it is discarded or put in the queue. These are possible values of the BusyAction
property:
'queue'
— Puts the interrupting callback in a queue to be processed after the running callback finishes execution.
'cancel'
— Does not execute the interrupting callback.
BeingDeleted
— Deletion statusThis 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
— Parent containerFigure
object (default) | Panel
object | Tab
object | ButtonGroup
object | GridLayout
objectParent container, specified as a Figure
object
created using the uifigure
function, or one of its child
containers: Tab
, Panel
, ButtonGroup
, or GridLayout
. If no container is specified, MATLAB calls the uifigure
function to create a new Figure
object that serves as the parent container.
Children
— ButtonGroup
childrenGraphicsPlaceholder
array (default) | 1-D array of component objectsButtonGroup
children, returned as an
empty GraphicsPlaceholder
or a 1-D array of component
objects. The children of a ButtonGroup
object can be any UI component object, including another ButtonGroup
object.
You cannot add or remove child components using the
Children
property of the ButtonGroup
. Use the Children
property
value to view the list of children or to reorder the children. The order of
the children in the property value array reflects the front-to-back order
(stacking order) of the components on the screen.
To add a child to this list, set the Parent
property of
the child component to the ButtonGroup
.
HandleVisibility
— Visibility of object handle'on'
(default) | 'callback'
| 'off'
Visibility of the object handle, specified as 'on'
, 'callback'
,
or 'off'
.
This property controls the visibility of the object in its parent's
list of children. When an object is not visible in its parent's list
of children, it is not returned by functions that obtain objects by
searching the object hierarchy or querying properties. These functions
include get
, findobj
, clf
,
and close
. Objects are valid
even if they are not visible. If you can access an object, you can
set and get its properties, and pass it to any function that operates
on objects.
HandleVisibility Value | Description |
---|---|
'on' | The object is always visible. |
'callback' | The object 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 object at the command-line, but allows callback functions to access it. |
'off' | The object is invisible at all times. This option is useful
for preventing unintended changes to the UI by another function. Set
the HandleVisibility to 'off' to
temporarily hide the object during the execution of that function.
|
Type
— Type of graphics object'uibuttongroup'
This property is read-only.
Type of graphics object, returned as
'uibuttongroup'
.
Tag
— Object identifier''
(default) | character vector | string scalarObject identifier, specified as a character vector or string scalar. You can specify a unique Tag
value to serve as an identifier for an object. When you need access to the object elsewhere in your code, you can use the findobj
function to search for the object based on the Tag
value.
UserData
— User data[]
(default) | arrayUser data, specified as any MATLAB array. For example, you can specify a scalar, vector, matrix, cell array, character array, table, or structure. Use this property to store arbitrary data on an object.
If you are working in App Designer, create public or private properties in the app to share data instead of using the UserData
property. For more information, see Share Data Within App Designer Apps.