# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

## Graphics Objects

This example shows how to create, display, and modify graphics objects in MATLAB®.

### Graphics Objects

When MATLAB creates a plot, it creates a series of graphics objects. Figures, axes, lines, patches, and text are examples of graphics objects. The figure below has three graphics objects -- an axes, a line, and a text object. Use an optional output argument to store the graphics object that is created.

```x = -pi:pi/20:pi; y = sin(x); f = figure; p = plot(x,y); txt1 = text(0.2,0,'sin(x)');```

All graphics objects have properties that you can view and modify. These properties have default values. The display of the line object, `p`, shows the most commonly used line properties, such as `Color`, `LineStyle`, and `LineWidth`.

`p`
```p = Line with properties: Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 MarkerFaceColor: 'none' XData: [1x41 double] YData: [1x41 double] ZData: [1x0 double] Show all properties ```

MATLAB shows the same display if the semicolon is missing from the command that creates the object.

`txt2 = text(x(end), y(end), 'pi')`

```txt2 = Text (pi) with properties: String: 'pi' FontSize: 10 FontWeight: 'normal' FontName: 'Helvetica' Color: [0 0 0] HorizontalAlignment: 'left' Position: [3.1416 1.2246e-16 0] Units: 'data' Show all properties ```

### Get Graphics Object Properties

To access individual properties of a graphics object, use dot notation syntax `object.PropertyName`. For example, return the `LineWidth` property for the line object.

`pcol = p.LineWidth`
```pcol = 0.5000 ```

Change the line color to red by setting its `Color` property.

`p.Color = 'red';`

### Parents and Children

MATLAB arranges graphics objects in a hierarchy. The top of the hierarchy is a special object called the graphics root. To access the graphics root, use the `groot` function.

`groot`
```ans = Graphics Root with properties: CurrentFigure: [1x1 Figure] ScreenPixelsPerInch: 100 ScreenSize: [1 1 1280 1024] MonitorPositions: [1 1 1280 1024] Units: 'pixels' Show all properties ```

All graphics objects (except the root) have a parent. For example, the parent of an axes is a figure.

```ax = gca; ax.Parent```
```ans = Figure (1) with properties: Number: 1 Name: '' Color: [0.9400 0.9400 0.9400] Position: [348 480 583 437] Units: 'pixels' Show all properties ```

Many objects also have children. This axes has three children - the two text objects and the line object.

`ax.Children`
```ans = 3x1 graphics array: Text (pi) Text (sin(x)) Line ```

Since the axes has multiple children, the value of the `Children` property is an array of graphics objects. To access an individual child of the axes, index into the array. You can then set properties of the child object.

```t = ax.Children(2); % get the 'sin(x)' text object t.FontWeight = 'bold'; % set the font to bold```

### Preallocate Graphics Objects Array

It is a best practice in MATLAB to preallocate an array before using it. Use the `gobjects` command to preallocate an array of graphics objects. You can then add graphics objects to the array.

```objarray = gobjects(1,5); objarray(1) = f; objarray(2) = ax; objarray(3) = p; objarray(4) = txt1; objarray(5) = txt2; objarray```
```objarray = 1x5 graphics array: Figure Axes Line Text Text ```

### Get All Object Properties

Graphics objects in MATLAB have many properties. To see all the properties of an object, use the `get` command.

`get(f)`
``` Alphamap: [1x64 double] BeingDeleted: 'off' BusyAction: 'queue' ButtonDownFcn: '' Children: [1x1 Axes] Clipping: 'on' CloseRequestFcn: 'closereq' Color: [0.9400 0.9400 0.9400] Colormap: [64x3 double] CreateFcn: '' CurrentAxes: [1x1 Axes] CurrentCharacter: '' CurrentObject: [0x0 GraphicsPlaceholder] CurrentPoint: [0 0] DeleteFcn: '' DockControls: 'on' FileName: '' GraphicsSmoothing: 'on' HandleVisibility: 'on' InnerPosition: [348 480 583 437] IntegerHandle: 'on' Interruptible: 'on' InvertHardcopy: 'on' KeyPressFcn: '' KeyReleaseFcn: '' MenuBar: 'none' Name: '' NextPlot: 'add' Number: 1 NumberTitle: 'on' OuterPosition: [348 480 583 437] PaperOrientation: 'portrait' PaperPosition: [1.3350 3.3150 5.8300 4.3700] PaperPositionMode: 'auto' PaperSize: [8.5000 11] PaperType: 'usletter' PaperUnits: 'inches' Parent: [1x1 Root] Pointer: 'arrow' PointerShapeCData: [16x16 double] PointerShapeHotSpot: [1 1] Position: [348 480 583 437] Renderer: 'opengl' RendererMode: 'auto' Resize: 'on' SelectionType: 'normal' SizeChangedFcn: '' Tag: '' ToolBar: 'none' Type: 'figure' UIContextMenu: [0x0 GraphicsPlaceholder] Units: 'pixels' UserData: [] Visible: 'off' WindowButtonDownFcn: '' WindowButtonMotionFcn: '' WindowButtonUpFcn: '' WindowKeyPressFcn: '' WindowKeyReleaseFcn: '' WindowScrollWheelFcn: '' WindowState: 'normal' WindowStyle: 'normal' XDisplay: ':100' ```