generates a parametric plot of a curve with x and y coordinates fx and fy as a function of u.


plots several parametric curves.


plots a parametric region.


plots several parametric regions.


plots the curve {fx,fy} with features defined by the symbolic wrapper w.


takes parameters {u,v} to be in the geometric region reg.

Details and Options


open allclose all

Basic Examples  (4)

Plot a parametric curve:

Plot a parametric region:

Plot several parametric curves with a legend:

Plot overlapping regions:

Scope  (34)

Sampling  (9)

More points are sampled when the function changes quickly:

The plot range is selected automatically:

Ranges where the function becomes nonreal are excluded:

The curve is split when there are discontinuities in the function:

Use PlotPoints and MaxRecursion to control adaptive sampling:

Use PlotRange to focus in on areas of interest:

Use Exclusions to remove points or split the resulting curve:

The domain of the parameters may be specified by a region:

For two parameters:

The domain of the parameters may be specified by a MeshRegion:

Labeling and Legending  (13)

Use Callout to add the expressions as a label:

Use any text as a label:

Label a region:

Place the label along the curve:

Place the label at a scaled position:

Place the labels relative to the inside of the curve:

Place the labels relative to the outside of the curve:

Place the label inside a region:

Label the curve with PlotLabels:

Label multiple curves:

Use a scaled position:

Specify the text position relative to the point:

Specify the label at {x,y} position:

Place the label outside of a region:

Include legends for each curve:

Include legends for each region:

Use Legended to provide a legend for a specific curve:

Use Placed to change the legend location:

Curves usually have interactive callouts showing the coordinates when you mouse over them:

Including specific wrappers or interactions, such as tooltips, turns off the interactive features:

Choose from multiple interactive highlighting effects:

Use Highlighted to emphasize specific points in a plot:

Highlight multiple points:

Presentation  (12)

Multiple curves and regions are automatically colored to be distinct:

Identify curves and regions with legends:

Add labels to the curves:

Provide explicit styling to different curves and regions:

Add labels:

Provide an interactive Tooltip for each curve or region:

Create an overlay mesh:

Style the areas between mesh levels:

Color by parameter values:

Use a plot theme:

Reverse the direction of the x axis:

Scale u space parameter to affect sampling, but not the general shape:

Scale v space parameter:

Options  (88)

BoundaryStyle  (3)

Use a red boundary around the edges of the surface:

BoundaryStyle applies to regions cut by RegionFunction:

BoundaryStyle does not apply to holes cut by Exclusions:

ColorFunction  (5)

Color the curve by scaled , , or values:

Color by scaled and parameter values:

Use a named color gradient:

ColorFunction has higher priority than PlotStyle:

Use red for the parameter :

ColorFunctionScaling  (2)

Color the curve by angle:

Color the region by angle and vary opacity across the region:

EvaluationMonitor  (3)

Find the list of parameter values evaluated:

Find the parametric coordinate values:

Count how many times the function is evaluated:

Exclusions  (5)

Automatically determine exclusions:

Specify exclusions using equations:

Exclude a fixed set of points:

Use no exclusions:

Exclude an equation and the automatically chosen points:

ExclusionsStyle  (3)

Specify explicit styling for lines joining exclusion points:

Provide styling for both exclusion points and the lines joining them:

Draw red lines where the region is cut by excluded curves:

LabelingSize  (2)

Textual labels are shown at their actual sizes:

Specify the size of the text:

Image labels are resized to fit in the plot:

Specify the labeling size:

MaxRecursion  (2)

Each level of MaxRecursion will adaptively subdivide the initial mesh into a finer mesh:

Subdivision for parametric regions:

Mesh  (5)

Show the initial and final sampling meshes:

Use 10 mesh levels evenly spaced in the parameter directions:

Use a different number of mesh lines in different directions:

Use an explicit list of values for the mesh in the parameter and no mesh in the parameter:

Use explicit value and style for the mesh:

MeshFunctions  (3)

Use a mesh evenly spaced in the , , and directions:

Use a mesh evenly spaced in the , , , and directions:

Show 5 mesh levels in the direction (red) and 10 in the direction (blue):

MeshShading  (7)

Alternate red and blue arcs in the direction:

Use None to remove segments:

MeshShading can be used with PlotStyle:

MeshShading has higher priority than PlotStyle for styling:

Use PlotStyle for some segments by setting MeshShading to Automatic:

MeshShading can be used with ColorFunction:

Fill between regions defined by multiple mesh functions:

MeshStyle  (4)

Automatically choose the mesh style:

Use a red mesh in the direction:

Use a red mesh in the direction and a blue mesh in the direction:

Use big red mesh levels in the direction:

PerformanceGoal  (2)

Generate a higher-quality plot:

Emphasize performance, possibly at the cost of quality:

PlotHighlighting  (8)

Plots have interactive coordinate callouts with the default setting PlotHighlightingAutomatic:

Use PlotHighlightingNone to disable the highlighting for the entire plot:

Use Highlighted[,None] to disable highlighting for a single curve:

Move the mouse over the curve to highlight it with a ball and label:

Use a ball and label to highlight parts that match specific points on the curve:

Move the mouse over the curve to highlight it with a label and droplines to the axes:

Use a ball and label to highlight a specific point on the curve:

Move the mouse over the plot to highlight it with a slice showing values corresponding to the position:

Highlight the curves at a fixed value:

Move the mouse over the plot to highlight it with a slice showing values corresponding to the position:

Use a component that shows the points on the curve closest to the position of the mouse cursor:

Specify the style for the points:

Use a component that shows the coordinates on the curve closest to the mouse cursor:

Use Callout options to change the appearance of the label:

Combine components to create a custom effect:

PlotLabels  (6)

Specify the text to label the curves:

Place the labels above the curves:

Place the labels differently for each curve:

PlotLabels->"Expressions" uses functions as curve labels:

Use callouts to identify the curves:

Put labels relative to the outside of the curves:

Use None to not add a label:

PlotLegends  (7)

No legends are used by default:

Create a legend based on the functions:

Create a legend with placeholder text:

Create a legend with specific labels:

PlotLegends picks up PlotStyle values automatically:

Use Placed to position legends:

Place legends inside:

Use LineLegend to modify the appearance of the legend:

PlotPoints  (2)

Use more initial points to get a smoother plot:

Use fewer plot points in directions that do not change much:

PlotRange  (2)

Show the plot where and :

With the natural range of values, the fine detail around the origin is not visible:

Use PlotRange to focus in on areas of interest:

PlotStyle  (4)

Use different style directives:

By default different styles are chosen for multiple curves and regions:

Explicitly specify the style for different curves and regions:

PlotStyle can be combined with ColorFunction:

PlotTheme  (2)

Use a theme with simple ticks and grid lines in a bright color scheme:

Change the color scheme:

RegionFunction  (1)

Show the plot where :

ScalingFunctions  (3)

By default, ParametricPlot uses a natural scale:

Use a sign-aware log scale for the y axis:

Use ScalingFunctions to reverse the direction of axes:

TextureCoordinateFunction  (4)

Textures use scaled and parameters by default:

Use the and coordinates:

Use unscaled coordinates:

Use textures to highlight how parameters map onto a surface:

TextureCoordinateScaling  (1)

Use scaled or unscaled coordinates for textures:

WorkingPrecision  (2)

Evaluate functions using machine-precision arithmetic:

Evaluate functions using arbitrary-precision arithmetic:

Applications  (9)

Simple parametric curves including a line:



Circle segment:

Ellipse segment:

Simple parametric regions including a rectangle:



Disk sector:

Disk annulus:

Disk sector annulus:

Rotated ellipses:

Plot a whole family of rotated ellipses:

Different parametrizations of circles:

This rational parametrization is for :

Plot Lissajous curves:

Plot a Nyquist curve:

Make a phase space plot of a solution to the LotkaVolterra predator-prey equations:

Plot complex mappings:

A Joukowski map:

Model a two-link planar robot:

Plot the range of motion of the end effector for and :

Properties & Relations  (7)

Plot is a special case of ParametricPlot for curves:

PolarPlot is a special case of ParametricPlot for curves:

Use ListPlot and ListLinePlot for data:

Use ContourPlot and RegionPlot for implicit curves and regions:

Use LogPlot, LogLinearPlot, and LogLogPlot for logarithmic plots:

Use Plot3D and ParametricPlot3D for function and parametric surfaces:

Use RevolutionPlot3D and SphericalPlot3D for cylindrical and spherical coordinates:

Possible Issues  (1)

By default, the argument is not evaluated and is styled as one composite function:

Use Evaluate to get an explicit list of curves:

Neat Examples  (1)

Forced undersampling:

Wolfram Research (1988), ParametricPlot, Wolfram Language function, (updated 2023).


Wolfram Research (1988), ParametricPlot, Wolfram Language function, (updated 2023).


Wolfram Language. 1988. "ParametricPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023.


Wolfram Language. (1988). ParametricPlot. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_parametricplot, author="Wolfram Research", title="{ParametricPlot}", year="2023", howpublished="\url{}", note=[Accessed: 15-July-2024 ]}


@online{reference.wolfram_2024_parametricplot, organization={Wolfram Research}, title={ParametricPlot}, year={2023}, url={}, note=[Accessed: 15-July-2024 ]}