Filled polar rectangle
Since R2024a
collapse all in page
Syntax
polarregion(thetas,radii)
polarregion(thetas,radii,Name=Value)
polarregion(pax,___)
pr = polarregion(___)
Description
example
polarregion(thetas,radii)
creates a filled polar rectangle that is bounded by the angles in thetas
and the radius values in radii
in the current (polar) axes. To create one polar rectangle, specify thetas
and radii
as two-element vectors. To create multiple rectangles, specify two matrices of the same size.
example
polarregion(thetas,radii,Name=Value)
specifies properties for the polar rectangle using one or more name-value arguments. If you create multiple rectangles, the property values apply to all of the rectangles. Specify the name-value arguments after all other inputs. For example, create a yellow polar rectangle using polarregion([0 pi],[0.25 1],FaceColor="yellow")
. For a list of properties, see PolarRegion Properties.
example
polarregion(pax,___)
specifies the target polar axes for the polar rectangle. Specify pax
as the first argument in any of the previous syntaxes.
example
pr = polarregion(___)
returns one or more PolarRegion
objects. Use pr
to set properties of the polar rectangles after creating them. For a list of properties, see PolarRegion Properties.
Examples
collapse all
Create Polar Rectangle with Tick Labels in Radians
Open Live Script
Create a polar plot. Then add a polar rectangle between the angles 0
and pi/2
and the radii 0.5
and 0.8
.
% Create polar plottheta = 0:0.01:2*pi;rho = 2*sin(2*theta).*cos(2*theta);polarplot(theta,rho,LineWidth=1.5)% Create polar rectanglethetas = [0 pi/2];radii = [0.5 0.8];polarregion(thetas,radii)
Change the theta-axis units to radians by setting the ThetaAxisUnits
property.
pax = gca;pax.ThetaAxisUnits = "radians";
Create Multiple Polar Rectangles
Open Live Script
Create three filled polar rectangles by specifying the bounding angles and radii as 2-by-3 matrices. The columns of the matrices correspond to the different rectangles.
thetas = [pi/6 4*pi/6 pi; 2*pi/6 5*pi/6 2*pi];radii = [0.5 0.5 0.6; 0.6 0.6 0.7];polarregion(thetas,radii)
Customize Fill Color and Boundary Lines
Open Live Script
You can specify PolarRegion
properties, such as face color and boundary line width and color, by specifying one or more name-value arguments when you call polarregion
. Alternatively, you can set properties of the PolarRegion
object after creating it.
For example, create two green filled rectangles: one in the first (upper-right) quadrant and the other in the third (lower-left) quadrant. Specify an output argument to store the PolarRegion
objects so that you can modify them later.
thetas = [0 pi; pi/2 3*pi/2];radii = [0.5 0.8];pr = polarregion(thetas,radii,FaceColor="g");
Change the color of the rectangle in the third quadrant to a shade of purple by specifying the FaceColor
property as a hexadecimal color code. Then display thick boundary lines around the rectangle in the first quadrant by setting the EdgeColor
and LineWidth
properties:
% Set color of rectangle in third quadrantpr(2).FaceColor = "#5500FF";% Set boundary color and line thickness in first quadrantpr(1).EdgeColor = "b";pr(1).LineWidth = 1.5;
Match Polar Rectangle Color to Plot Color
Open Live Script
Plot a blue rose and a red rose.
theta = linspace(0,2*pi,200);rho1 = 2*cos(3*theta);rho2 = 2*cos(3*theta+pi);% Blue roserose1 = polarplot(theta,rho1,LineWidth=1.5);hold on% Red roserose2 = polarplot(theta,rho2,LineWidth=1.5);
Create polar rectangles that highlight the tip of a petal in each rose.
radii = [1.5 2];thetas1 = [7*pi/6 9*pi/6];pr1 = polarregion(thetas1,radii);thetas2 = [pi/6 3*pi/6];pr2 = polarregion(thetas2,radii);
Match the color of each polar rectangle to the corresponding rose by setting the SeriesIndex
property of the rectangle to the SeriesIndex
property of the rose.
pr1.SeriesIndex = rose1.SeriesIndex;pr2.SeriesIndex = rose2.SeriesIndex;
Move Polar Rectangle on Top of Plot
Open Live Script
To move a polar rectangle on top of a plot, set the Layer
property of the PolarRegion
object to "top"
. For example, plot a polar rose and add a polar rectangle. When you create the rectangle, specify a custom face color and a transparency value so that you can see that the rose is on top of the rectangle.
% Plot polar roset = 0:0.01:2*pi;rho = sin(2*t).*cos(2*t);polarplot(t,rho,LineWidth=1.5)% Add polar rectanglethetas = [0 pi];radii = [0.2 0.3];pr = polarregion(thetas,radii,FaceColor=[0.8 0.8 0.8],FaceAlpha=0.7);
Move the rectangle on top of the rose by setting the Layer
property to "top"
.
pr.Layer = "top";
Create Polar Rectangles in Different Axes
Open Live Script
To create filled polar rectangles in different polar axes within the same figure, create a tiled chart layout. In this case, create two axes that each contain a polar rectangle.
Use the tiledlayout
function to create a 1-by-2 tiled chart layout t
. Use the polaraxes
function to create each PolarAxes
object. By default, both objects occupy the first tile. Move the second PolarAxes
object to the second tile by setting the Layout.Tile
property.
t = tiledlayout(1,2);pax1 = polaraxes(t);pax2 = polaraxes(t);pax2.Layout.Tile = 2;
Create a red polar rectangle in the first polar axes, and create a green rectangle in the second polar axes. Specify the PolarAxes
object that you want to plot into as the first argument when you call polarregion
.
thetas = [0 pi];radii = [0.2 0.6];polarregion(pax1,thetas,radii,FaceColor="r")polarregion(pax2,thetas,radii,FaceColor="g")
Input Arguments
collapse all
thetas,radii
— Bounding angles and radii
pair of two-element vectors | pair of 2-by-n matrices | pair of n-by-2 matrices
Bounding angles and radii, specified as a pair of two-element vectors or as a pair of 2-by-n or n-by-2 matrices, where n is the number of polar rectangles. Whether you specify vectors or matrices depends on the number of polar rectangles you create:
To create one filled rectangle, specify
thetas
andradii
as two-element vectors.To create n filled rectangles, specify
thetas
andradii
as 2-by-n or n-by-2 matrices.To create two filled rectangles, you can specify a 2-by-2 matrix and a two-element vector, or you can specify two 2-by-2 matrices. Each column of the matrices corresponds to a filled rectangle.
Example: polarregion([0 pi/2],[0.5 1])
creates one polar rectangle.
Example: polarregion([0 pi/4 pi; pi/6 pi/2 3*pi/2],[0.1 0.3 0.6; 0.2 0.4 0.7])
creates three polar rectangles.
Example: polarregion([0 pi/4; pi/6 pi/2],[0.5 0.8])
creates two filled rectangles.
If you specify an angle or radius as a NaN
value, no rectangle appears for that value.
Data Types: single
| double
pax
— Target polar axes
PolarAxes
object
Target axes for the filled region, specified as a PolarAxes
object. Use this argument if you want to create the filled region in a specific PolarAxes
object instead of the current axes.
Name-Value Arguments
Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN
, where Name
is 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.
Example: polarregion([0 pi],[0.5 1],FaceColor="yellow")
creates a yellow polar rectangle.
Note
The properties listed here are only a subset. For a complete list, see PolarRegion Properties.
FaceColor
— Fill color
[0.4902 0.4902 0.4902]
(default) | RGB triplet | hexadecimal color code | "r"
| "g"
| "b"
| ...
Fill color, specified as an RGB triplet, a hexadecimal color code, or a color name.
For a custom color, specify an RGB triplet or a hexadecimal color code.
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 string scalar or character vector that starts with a hash symbol (
#
) followed by three or six hexadecimal digits, which can range from0
toF
. The values are not case sensitive. Therefore, 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" | |
"none" | Not applicable | Not applicable | Not applicable | No color |
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" |
EdgeColor
— Boundary line color
"none"
(default) | RGB triplet | hexadecimal color code | "r"
| "g"
| "b"
| ...
Boundary line color, specified as an RGB triplet, a hexadecimal color code, or a color name.
For a custom color, specify an RGB triplet or a hexadecimal color code.
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 string scalar or character vector that starts with a hash symbol (
#
) followed by three or six hexadecimal digits, which can range from0
toF
. The values are not case sensitive. Therefore, 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" | |
"none" | Not applicable | Not applicable | Not applicable | No color |
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" |
FaceAlpha
— Fill color transparency
0.3
(default) | scalar in range [0,1]
Fill color transparency, specified as a scalar in the range [0,1]
. A value of 1
is opaque and 0
is completely transparent. Values between 0
and 1
are partially transparent.
LineStyle
— Boundary line style
"-"
(default) | "--"
| ":"
| "-."
| "none"
Boundary line style, specified as one of the options listed in this table.
Line Style | Description | Resulting Line |
---|---|---|
"-" | Solid line | |
"--" | Dashed line | |
":" | Dotted line | |
"-." | Dash-dotted line | |
"none" | No line | No line |
Version History
Introduced in R2024a
See Also
Functions
- thetaregion | radiusregion
Properties
- PolarRegion Properties
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Contact your local office