MATLAB Function Reference    

Create a 2-D rectangle object



rectangle draws a rectangle with Position [0,0,1,1] and Curvature [0,0] (i.e., no curvature).

rectangle('Position',[x,y,w,h]) draws the rectangle from the point x,y and having a width of w and a height of h. Specify values in axes data units.

Note that, to display a rectangle in the specified proportions, you need to set the axes data aspect ratio so that one unit is of equal length along both the x and y axes. You can do this with the command axis equal or daspect([1,1,1]).

rectangle(...,'Curvature',[x,y]) specifies the curvature of the rectangle sides, enabling it to vary from a rectangle to an ellipse. The horizontal curvature x is the fraction of width of the rectangle that is curved along the top and bottom edges. The vertical curvature y is the fraction of the height of the rectangle that is curved along the left and right edges.

The values of x and y can range from 0 (no curvature) to 1 (maximum curvature). A value of [0,0] creates a rectangle with square sides. A value of [1,1] creates an ellipse. If you specify only one value for Curvature, then the same length (in axes data units) is curved along both horizontal and vertical sides. The amount of curvature is determined by the shorter dimension.

h = rectangle(...) returns the handle of the rectangle object created.


Rectangle objects are 2-D and can be drawn in an axes only if the view is [0 90] (i.e., view(2)). Rectangles are children of axes and are defined in coordinates of the axes data.


This example sets the data aspect ratio to [1,1,1] so that the rectangle displays in the specified proportions (daspect). Note that the horizontal and vertical curvature can be different. Also, note the effects of using a single value for Curvature.

Specifying a single value of [0.4] for Curvature produces:

A Curvature of [1] produces a rectangle with the shortest side completely round:

This example creates an ellipse and colors the face red.

See Also

line, patch, rectangle properties

Object Creation Functions for related functions

Object Hierarchy

Setting Default Properties

You can set default rectangle properties on the axes, figure, and root levels.

Where Property is the name of the rectangle property whose default value you want to set and PropertyValue is the value you are specifying. Use set and get to access the surface properties.

Property List

The following table lists all rectangle properties and provides a brief description of each. The property name links take you to an expanded description of the properties.

Property Name
Property Description
Property Value
Defining the Rectangle Object
Degree of horizontal and vertical curvature
Value: two-element vector with values between 0 and 1
Default: [0,0]
Method of drawing and erasing the rectangle (useful for animation)
Values: normal, none, xor, background
Default: normal
Color of rectangle edges

Value: ColorSpec or none
Default: ColorSpec [0,0,0]
Color of rectangle interior
Value: ColorSpec or none
Default: none
Line style of edges
Values: -, --, :, -., none
Default: -
Width of edge lines in points
Value: scalar
Default: 0.5 points
Location and width and height of rectangle
Value: [x,y,width,height]
Default: [0,0,1,1]
General Information About Rectangle Objects
Rectangle objects have no children

Axes object
Value: handle of axes
Indicate if the rectangle is in a "selected" state.
Value: on, off
Default: off
User-specified label
Value: any string
Default: '' (empty string)
The type of graphics object (read only)
Value: the string 'rectangle'
User-specified data
Value: any matrix
Default: [] (empty matrix)
Properties Related to Callback Routine Execution
Specify how to handle callback routine interruption
Value: cancel, queue Default: queue
Define a callback routine that executes when a mouse button is pressed on over the rectangle
Value: string or function handle
Default: '' (empty string)
Define a callback routine that executes when a rectangle is created
Value: string or function handle
Default: '' (empty string)
Define a callback routine that executes when the rectangle is deleted (via close or delete)
Values: string or function handle
Default: '' (empty string)
Determine if callback routine can be interrupted
Values: on, off
Default: on (can be interrupted)
Associate a context menu with the rectangle
Values: handle of a Uicontextmenu
Controlling Access to Objects
Determines if and when the rectangle's handle is visible to other functions
Values: on, callback, off
Default: on
Determines if the rectangle can become the current object (see the Figure CurrentObject property)
Values: on, off
Default: on
Controlling the Appearance
Clipping to axes rectangle
Values: on, off
Default: on
Highlight rectangle when selected (Selected property set to on)
Values: on, off
Default: on
Make the rectangle visible or invisible
Values: on, off
Default: on

  record rectangle properties