MATLAB Function Reference
set

Set object properties

Syntax

• ```set(H,'PropertyName',PropertyValue,...)
set(H,a)
set(H,pn,pv...)
set(H,pn,<m-by-n cell array>)
a= set(h)
a= set(0,'Factory')
a= set(0,'FactoryObjectTypePropertyName')
a= set(h,'Default')
a= set(h,'DefaultObjectTypePropertyName')
<cell array> = set(h,'PropertyName')
```

Description

```set(H,'PropertyName',PropertyValue,...) ``` sets the named properties to the specified values on the object(s) identified by `H`. `H` can be a vector of handles, in which case `set` sets the properties' values for all the objects.

```set(H,a) ``` sets the named properties to the specified values on the object(s) identified by `H`. `a` is a structure array whose field names are the object property names and whose field values are the values of the corresponding properties.

```set(H,pn,pv,...) ``` sets the named properties specified in the cell array `pn` to the corresponding value in the cell array `pv` for all objects identified in `H`.

```set(H,pn,<m-by-n cell array>) ``` sets `n` property values on each of `m` graphics objects, where `m = length(H)` and `n` is equal to the number of property names contained in the cell array `pn`. This allows you to set a given group of properties to different values on each object.

```a = set(h) ``` returns the user-settable properties and possible values for the object identified by `h`. `a` is a structure array whose field names are the object's property names and whose field values are the possible values of the corresponding properties. If you do not specify an output argument, MATLAB displays the information on the screen. `h` must be scalar.

```a = set(0,'Factory') ``` returns the properties whose defaults are user settable for all objects and lists possible values for each property. `a` is a structure array whose field names are the object's property names and whose field values are the possible values of the corresponding properties. If you do not specify an output argument, MATLAB displays the information on the screen.

```a = set(0,'FactoryObjectTypePropertyName') ``` returns the possible values of the named property for the specified object type, if the values are strings. The argument `Factory``ObjectTypePropertyName` is the word `Factory` concatenated with the object type (e.g., `axes`) and the property name (e.g., `CameraPosition`).

```a = set(h,'Default') ``` returns the names of properties having default values set on the object identified by `h`. `set` also returns the possible values if they are strings. `h` must be scalar.

```a = set(h,'DefaultObjectTypePropertyName') ``` returns the possible values of the named property for the specified object type, if the values are strings. The argument `Default``ObjectTypePropertyName` is the word `Default` concatenated with the object type (e.g., `axes`) and the property name (e.g., `CameraPosition`). For example, `DefaultAxesCameraPosition`. `h` must be scalar.

```pv = set(h,'PropertyName') ``` returns the possible values for the named property. If the possible values are strings, `set` returns each in a cell of the cell array, `pv`. For other properties, `set` returns an empty cell array. If you do not specify an output argument, MATLAB displays the information on the screen. `h` must be scalar.

Remarks

You can use any combination of property name/property value pairs, structure arrays, and cell arrays in one call to `set`.

Examples

Set the `Color` property of the current axes to blue.

• ```set(`gca`,'Color','b')
```

Change all the lines in a plot to black.

• ````plot`(`peaks`)
set(`findobj`('Type','line'),'Color','k')
```

You can define a group of properties in a structure to better organize your code. For example, these statements define a structure called `active`, which contains a set of property definitions used for the uicontrol objects in a particular figure. When this figure becomes the current figure, MATLAB changes colors and enables the controls.

• ```active.BackgroundColor = [.7 .7 .7];
active.Enable = 'on';
active.ForegroundColor = [0 0 0];

if gcf == control_fig_handle
set(findobj(control_fig_handle,'Type','uicontrol'),active)
end
```

You can use cell arrays to set properties to different values on each object. For example, these statements define a cell array to set three properties,

• ```PropName(1) = {'BackgroundColor'};
PropName(2) = {'Enable'};
PropName(3) = {'ForegroundColor'};
```

These statements define a cell array containing three values for each of three objects (i.e., a 3-by-3 cell array).

• ```PropVal(1,1) = {[.5 .5 .5]};
PropVal(1,2) = {'off'};
PropVal(1,3) = {[.9 .9 .9]};
PropVal(2,1) = {[1 0 0]};
PropVal(2,2) = {'on'};
PropVal(2,3) = {[1 1 1]};
PropVal(3,1) = {[.7 .7 .7]};
PropVal(3,2) = {'on'};
PropVal(3,3) = {[0 0 0]};
```

Now pass the arguments to `set`,

• ```set(H,PropName,PropVal)
```

where `length(H) = 3` and each element is the handle to a uicontrol.

`findobj`, `gca`, `gcf`, `gco`, `gcbo`, `get`