Create a light object
light creates a
Light object in the current
You cannot see
Light objects themselves, but you can see their effects
on any patch and surface objects present in the axes containing the lights. A number of
functions create patch and surface objects, including
fill3, as well as the
Create a Light Source
Create a sphere and light it using a
sphere axis equal light
Create Local Light Source
Create a sphere and light it with a local light source directed straight at the sphere from the negative corner of the x- and y-axes.
sphere axis equal light("Style","local","Position",[-10 -10 0]);
Specify Target Axes and Customize Light
You can display a tiling of plots using the
nexttile functions. Call the
tiledlayout function to create a 1-by-2 tiled chart layout. Call the
nexttile function to create the axes objects
ax2. Create a sphere and corresponding light in each plot by specifying each axes object as the first argument to
In the left axes, create a sphere and light it with a red light by specifying the
Color property. In the right axes, create a sphere and light it with a green light.
colormap([1 1 1]) tiledlayout(1,2) % Left sphere ax1 = nexttile; sphere(ax1) axis equal lt1 = light(ax1); lt1.Color = "r"; % Right sphere ax2 = nexttile; sphere(ax2) axis equal lt2 = light(ax2); lt2.Color = "g";
ax — Axes object
Axes object. If you do not specify an axes object, then
Light object in the current axes.
Specify optional pairs of arguments as
the argument name and
Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
light(Position=[-1 0 0],Style="local")
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
light("Position",[-1 0 0],"Style","local")
Color — Color of light
[1 1 1] (default) | RGB triplet | hexadecimal color code |
'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
F. The values are not case sensitive. Thus, the color codes
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|
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|
Style — Type of light source
"infinite" (default) |
Type of light source, specified as one of these values:
"infinite"— Place the light at infinity. Use the
Positionproperty to specify the direction from which the light shines in parallel rays.
"local"— Place the light at the location specified by the
Positionproperty. 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
[-40 -4 140]
Introduced before R2006a