Light appearance and behavior
Light
properties control the appearance and
behavior of Light
objects. By changing property
values, you can modify certain aspects of the light. Use dot notation to query and set
properties.
h = light; c = h.Color; h.Style = 'local';
Color
— Color of light[1 1 1]
(default) | RGB triplet | hexadecimal color code | 'r'
| 'g'
| 'b'
| ...Color of light, specified as an RGB triplet, a hexadecimal color code, a
color name, or a short name. The default RGB triplet of [1 1
1]
corresponds to white.
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' |
Example: 'green'
Style
— Type of light source'infinite'
(default) | 'local'
Type of light source, specified as one of these values:
'infinite'
— Place the light at
infinity. Use the Position
property to specify
the direction from which the light shines in parallel rays.
'local'
— Place the light at the
location specified by the Position
property. The
light is a point source that radiates from the location in all
directions.
Position
— Location of light source[1 0 1]
(default) | three-element vector of the form [x y z]
Location of light source, specified as a three-element vector of the form
[x y z]
. Define the vector elements in data units
from the axes origin to the (x, y,
z) coordinate. The actual location of the light
depends on the value of the Style
property.
Example: [-40 -4 140]
Position
— Location of light source[1 0 1]
(default) | three-element vector of the form [x y z]
Location of light source, specified as a three-element vector of the form
[x y z]
. Define the vector elements in data units
from the axes origin to the (x, y,
z) coordinate. The actual location of the light
depends on the value of the Style
property.
Example: [-40 -4 140]
Visible
— Visibility of light from light source'on'
(default) | on/off logical valueVisibility of light from light source, 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
.
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 Callback Definition.
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 Callback Definition.
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.
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
— ParentAxes
object | Group
object | Transform
objectParent, specified as an Axes
, Group
,
or Transform
object.
Children
— ChildrenGraphicsPlaceholder
arrayThe object has no children. You cannot set this property.
HandleVisibility
— Visibility of object handle'on'
(default) | 'off'
| 'callback'
Visibility of the object handle in the Children
property
of the parent, specified as one of these values:
'on'
— Object handle is
always visible.
'off'
— Object handle is invisible at
all times. This option is useful for preventing unintended
changes by another function. Set the
HandleVisibility
to
'off'
to temporarily hide the handle
during the execution of that function.
'callback'
— 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 object at the command line, but permits
callback functions to access it.
If the 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. Examples of such functions include the
get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
, and close
functions.
Hidden object handles are still valid. Set the root ShowHiddenHandles
property
to 'on'
to list all object handles regardless of
their HandleVisibility
property setting.
Type
— Type of graphics object'light'
This property is read-only.
Type of graphics object, returned as 'light'
. Use this
property to find all objects of a given type within a plotting hierarchy,
for example, searching for the type using findobj
.
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.
ButtonDownFcn
— (unused) Mouse-click callback''
(default) | function handle | cell array | character vectorLight
objects do not use this
property.
ContextMenu
— (unused) Context menuContextMenu
objectLight
objects do not use this
property.
Selected
— (unused) Selection state'off'
(default) | on/off logical valueLight
objects do not use this
property.
SelectionHighlight
— (unused) Display of selection handles when selected'on'
(default) | on/off logical valueLight
objects do not use this
property.
PickableParts
— (unused) Ability to capture mouse clicks'visible'
(default) | 'none'
Light
objects do not use this
property.
HitTest
— (unused) Response to captured mouse clicks'on'
(default) | on/off logical valueLight objects do not use this property.
Interruptible
— (unused) Callback interruption'on'
(default) | on/off logical valueLight
objects do not use this
property.
BusyAction
— (unused) Callback queuing'queue'
(default) | 'cancel'
Light
objects do not use this
property.