({{, (RefLink[ParametricPlot, paclet:ref/ParametricPlot])[{(Subscript[f, x]),(Subscript[f, y])},{u,(Subscript[u, min]),(Subscript[u, max])}]
generates a parametric plot of a curve with x and y coordinates (Subscript[f, x]) and (Subscript[f, y]) as a function of u. }, {, (RefLink[ParametricPlot, paclet:ref/ParametricPlot])[{{(Subscript[f, x]),(Subscript[f, y])},{(Subscript[g, x]),(Subscript[g, y])},…},{u,(Subscript[u, min]),(Subscript[u, max])}]
plots several parametric curves. }, {, (RefLink[ParametricPlot, paclet:ref/ParametricPlot])[{(Subscript[f, x]),(Subscript[f, y])},{u,(Subscript[u, min]),(Subscript[u, max])},{v,(Subscript[v, min]),(Subscript[v, max])}]
plots a parametric region. }, {, (RefLink[ParametricPlot, paclet:ref/ParametricPlot])[{{(Subscript[f, x]),(Subscript[f, y])},{(Subscript[g, x]),(Subscript[g, y])},…},{u,(Subscript[u, min]),(Subscript[u, max])},{v,(Subscript[v, min]),(Subscript[v, max])}]
plots several parametric regions. }, {, (RefLink[ParametricPlot, paclet:ref/ParametricPlot])[{…,w[{(Subscript[f, x]),(Subscript[f, y])}],…},…]
plots the curve {(Subscript[f, x]),(Subscript[f, y])} with features defined by the symbolic wrapper w.}, {, (RefLink[ParametricPlot, paclet:ref/ParametricPlot])[…,{u,v}∈reg]
takes parameters {u,v} to be in the geometric region reg.}})

OpenersNotesSection(Spacer1)Details and Options

(RefLink[ParametricPlot, paclet:ref/ParametricPlot]) treats the variables u and v as local, effectively using (RefLink[Block, paclet:ref/Block]).

(RefLink[ParametricPlot, paclet:ref/ParametricPlot]) has attribute (RefLink[HoldAll, paclet:ref/HoldAll]), and evaluates the (Subscript[f, i]) and (Subscript[g, i]) only after assigning specific numerical values to variables.

In some cases, it may be more efficient to use (RefLink[Evaluate, paclet:ref/Evaluate]) to evaluate the (Subscript[f, i]) and (Subscript[g, i]) symbolically before specific numerical values are assigned to variables.

No curve is drawn in any regions where the corresponding (Subscript[f, i]) or (Subscript[g, i]) evaluates to (RefLink[None, paclet:ref/None]).

Wrappers w can be applied at multiple levels:

(RefLink[Callout, paclet:ref/Callout]), (RefLink[Labeled, paclet:ref/Labeled]) and (RefLink[Placed, paclet:ref/Placed]) can use the following positions pos:

(RefLink[ParametricPlot, paclet:ref/ParametricPlot]) has the same options as (RefLink[Graphics, paclet:ref/Graphics]), with the following additions and changes:

Interactive labeling can be specified for curves and regions using (RefLink[Tooltip, paclet:ref/Tooltip]), (RefLink[StatusArea, paclet:ref/StatusArea]), or (RefLink[Annotation, paclet:ref/Annotation]).

(RefLink[ParametricPlot, paclet:ref/ParametricPlot])[(RefLink[Tooltip, paclet:ref/Tooltip])[{{(Subscript[f, x]),(Subscript[f, y])},…},…]] specifies that {(Subscript[f, x]),(Subscript[f, y])} should be displayed as tooltip labels for the corresponding curves or regions.

(RefLink[Tooltip, paclet:ref/Tooltip])[{(Subscript[f, x]),(Subscript[f, y])},label] specifies an explicit tooltip label for a curve or region.

Typical settings for (RefLink[PlotLegends, paclet:ref/PlotLegends]) include:

(RefLink[ParametricPlot, paclet:ref/ParametricPlot]) initially evaluates each function at a number of equally spaced sample points specified by (RefLink[PlotPoints, paclet:ref/PlotPoints]). Then it uses an adaptive algorithm to choose additional sample points, subdividing a given interval in each parameter at most (RefLink[MaxRecursion, paclet:ref/MaxRecursion]) times.

You should realize that with the finite number of sample points used, it is possible for (RefLink[ParametricPlot, paclet:ref/ParametricPlot]) to miss features in your functions. To check your results, you should try increasing the settings for (RefLink[PlotPoints, paclet:ref/PlotPoints]) and (RefLink[MaxRecursion, paclet:ref/MaxRecursion]).

(RefLink[On, paclet:ref/On])[ParametricPlot::accbend] makes (RefLink[ParametricPlot, paclet:ref/ParametricPlot]) print a message if it is unable to reach a certain smoothness of curve.

The default setting (RefLink[Mesh, paclet:ref/Mesh])->(RefLink[Automatic, paclet:ref/Automatic]) corresponds to (RefLink[None, paclet:ref/None]) for curves, and 15 for regions.

With (RefLink[Mesh, paclet:ref/Mesh])->(RefLink[All, paclet:ref/All]), (RefLink[ParametricPlot, paclet:ref/ParametricPlot]) will explicitly draw a point at each sample point on each curve, or will draw a line to indicate each region subdivision.

The default setting (RefLink[MeshFunctions, paclet:ref/MeshFunctions])->(RefLink[Automatic, paclet:ref/Automatic]) corresponds to {#3&} for curves, and {#3&,#4&} for regions.

The arguments supplied to functions in (RefLink[MeshFunctions, paclet:ref/MeshFunctions]) and (RefLink[RegionFunction, paclet:ref/RegionFunction]) are x, y, u, and v. Functions in (RefLink[ColorFunction, paclet:ref/ColorFunction]) and (RefLink[TextureCoordinateFunction, paclet:ref/TextureCoordinateFunction]) are by default supplied with scaled versions of these arguments.

The functions are evaluated all along each curve, or all over each region.

(RefLink[ParametricPlot, paclet:ref/ParametricPlot]) returns (RefLink[Graphics, paclet:ref/Graphics])[(RefLink[Line, paclet:ref/Line])[data]] for curves and (RefLink[Graphics, paclet:ref/Graphics])[(RefLink[GraphicsComplex, paclet:ref/GraphicsComplex])[data]] for regions.

OpenersPrimaryExamplesSection(Spacer1)Examples  (134)

OpenersExampleSection0(Spacer1)Basic Examples  (4)

Plot a parametric curve:

ParametricPlot[{Sin[u],Sin[2u]},{u,0,2Pi}]

Plot a parametric region:

ParametricPlot[r^2{ Sqrt[t]Cos[t], Sin[t]},{t,0,3Pi/2},{r,1,2}]

Plot several parametric curves with a legend:

ParametricPlot[{{2Cos[t],2Sin[t]},{2Cos[t],Sin[t]},{Cos[t],2Sin[t]},{Cos[t],Sin[t]}},{t,0,2Pi},PlotLegends->"Expressions"]

Plot overlapping regions:

ParametricPlot[{{2r Cos[t],r Sin[t]},{r Cos[t],2r Sin[t]}},{t,0,2Pi},{r,0,1},Mesh->False]

OpenersExampleSection1(Spacer1)Scope  (29)

OpenersExampleSubsection0(Spacer1)Sampling  (9)

More points are sampled when the function changes quickly:

ParametricPlot[{Sin[12u]Cos[u],Sin[12u]Sin[u]},{u,0,2Pi}]

The plot range is selected automatically:

ParametricPlot[{Sqrt[1/u],u},{u,0,2}]//Quiet

Ranges where the function becomes nonreal are excluded:

{ParametricPlot[{Sqrt[Sin[2u]]Cos[u],Sqrt[Sin[2u]]Sin[u]},{u,0,2Pi}],ParametricPlot[Im[{Sqrt[Sin[2u]]Cos[u],Sqrt[Sin[2u]]Sin[u]}],{u,0,2Pi}]}

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

ParametricPlot[{u,Floor[u]},{u,0,25}]

Use (RefLink[PlotPoints, paclet:ref/PlotPoints]) and (RefLink[MaxRecursion, paclet:ref/MaxRecursion]) to control adaptive sampling:

Grid[Table[ParametricPlot[{Cos[u],Sin[u]},{u,0,2Pi},PlotPoints->pp,MaxRecursion->mr],{mr,{0,2}},{pp,{5,10}}]]

Grid[Table[ParametricPlot[{v Cos[u],v Sin[u]},{u,0,2Pi},{v,1,2},PlotPoints->pp,MaxRecursion->mr,Mesh->None],{mr,{0,2}},{pp,{5,10}}]]

Use (RefLink[PlotRange, paclet:ref/PlotRange]) to focus in on areas of interest:

Table[ParametricPlot[{Exp[u] Cos[u],Exp[u] Sin[u]},{u,0,10},PlotRange->pr],{pr,{10,50,250}}]

Use (RefLink[Exclusions, paclet:ref/Exclusions]) to remove points or split the resulting curve:

ParametricPlot[{Tan[u],u},{u,0,2Pi},Exclusions->Range[Pi/2,2Pi,Pi]]

ParametricPlot[{Tan[u],u+v},{u,0,2Pi},{v,0,1},Exclusions->{u==Pi/2,u==3Pi/2},Axes->None]

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

(Subscript[𝒟, 1])=ImplicitRegion[0≤θ≤3π/4,{θ}];

ParametricPlot[{Cos[u],Sin[u]},{u}∈(Subscript[𝒟, 1])]

For two parameters:

(Subscript[𝒟, 2])=ImplicitRegion[0≤θ≤3π/4∧1/4≤r≤3/4,{θ,r}];

ParametricPlot[{r Cos[u],r Sin[u]},{u,r}∈(Subscript[𝒟, 2])]

The domain of the parameters may be specified by a (RefLink[MeshRegion, paclet:ref/MeshRegion]):

𝒟=MeshRegion[{{0,1},{5,1},{5,2}},Polygon[{1,2,3}]];

ParametricPlot[r^2{Sqrt[t]Cos[t],Sin[t]},{t,r}∈𝒟]

OpenersExampleSubsection1(Spacer1)Labeling and Legending  (10)

Use (RefLink[Callout, paclet:ref/Callout]) to add the expressions as a label:

ParametricPlot[Callout[{Sin[u],Sin[2u]}],{u,0,2Pi}]

Use any text as a label:

ParametricPlot[Callout[{Sin[u],Sin[2u]},"label"],{u,0,2Pi}]

Label a region:

ParametricPlot[Callout[r^2{ Sqrt[t]Cos[t], Sin[t]},"label"],{t,0,3Pi/2},{r,1,2}]

Place the label along the curve:

Table[ParametricPlot[Callout[{Cos[u],Sin[u]},"label",i],{u,0,2Pi}],{i,{Pi/4,3Pi/4}}]

Place the label at a scaled position:

Table[ParametricPlot[Callout[{Cos[u],Sin[u]},"label",Scaled[i]],{u,0,2Pi}],{i,{1/8,3/8}}]

Place the labels relative to the inside of the curve:

Table[ParametricPlot[Callout[{Cos[u],Sin[u]},"label",pos],{u,0,2Pi},PlotLabel->pos,Axes->False,Frame->True],{pos,{Top,Bottom}}]

Place the labels relative to the outside of the curve:

Table[ParametricPlot[Callout[{Cos[u],Sin[u]},"label",pos],{u,0,2Pi},Axes->False,Frame->True],{pos,{Before,After}}]

Place the label inside a region:

ParametricPlot[Callout[r^2{ Sqrt[t]Cos[t], Sin[t]},"label",{-3,2}],{t,0,3Pi/2},{r,1,2}]

Label the curve with (RefLink[PlotLabels, paclet:ref/PlotLabels]):

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,2Pi},PlotLabels->"Expressions"]

Label multiple curves:

ParametricPlot[{{u Cos[u],u Sin[u]},{2u Cos[u],2u Sin[u]},{3u Cos[u],3u Sin[u]}},{u,0,3/2Pi},PlotLabels->Callout["Expressions",After]]

Use a scaled position:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},"label",Scaled[0.8]],{u,0,3/2Pi}]

Specify the text position relative to the point:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},"label",{Scaled[0.3],Below}],{u,0,3/2Pi}]

Specify the label at {x,y} position:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},"label",{4,-3}],{u,0,2Pi}]

Place the label outside of a region:

ParametricPlot[Callout[r^2{ Sqrt[t]Cos[t], Sin[t]},"label",{-5,3}],{t,0,3Pi/2},{r,1,2}]

Include legends for each curve:

ParametricPlot[{{u Cos[u],u Sin[u]},{2u Cos[u],2u Sin[u]},{3u Cos[u],3u Sin[u]}},{u,0,3/2Pi},PlotLegends->"Expressions"]

Include legends for each region:

ParametricPlot[{{u Cos[u],u Sin[u]}(t-u),{2u Cos[u],2u Sin[u]}(t-u),{3u Cos[u],3u Sin[u]}(t-u)},{u,0,2Pi},{t,0,1},PlotLegends->"Expressions"]

Use (RefLink[Legended, paclet:ref/Legended]) to provide a legend for a specific curve:

ParametricPlot[{{u Cos[u],u Sin[u]},Legended[{u Sin[u],u Cos[u]},"label"]},{u,0,3/2Pi}]

Use (RefLink[Placed, paclet:ref/Placed]) to change the legend location:

ParametricPlot[{{u Cos[u],u Sin[u]},Legended[{u Sin[u],u Cos[u]},Placed["label",Above]]},{u,0,3/2Pi}]

OpenersExampleSubsection2(Spacer1)Presentation  (10)

Multiple curves and regions are automatically colored to be distinct:

{ParametricPlot[Evaluate[Table[{i Cos[u],i Sin[u]},{i,1,3}]],{u,0,2Pi}],
ParametricPlot[Evaluate[Table[{(v+i) Cos[u],(v+i)Sin[u]},{i,1,3}]],{u,0,2Pi},{v,0,0.75},Mesh->None]}

Identify curves and regions with legends:

{ParametricPlot[Evaluate[Table[{i Cos[u],i Sin[u]},{i,1,3}]],{u,0,2Pi},PlotLegends->Automatic],
ParametricPlot[Evaluate[Table[{(v+i) Cos[u],(v+i)Sin[u]},{i,1,3}]],{u,0,2Pi},{v,0,0.75},Mesh->None,PlotLegends->Automatic]}

Add labels to the curves:

ParametricPlot[Evaluate[Table[{i Cos[u],i Sin[u]},{i,1,3}]],{u,0,2Pi},PlotLabels->Callout[Automatic,After]]

Provide explicit styling to different curves and regions:

ParametricPlot[Evaluate[Table[{i Cos[u],i Sin[u]},{i,1,3}]],{u,0,2Pi},PlotStyle->{Blue,Directive[Red,Dashed],Directive[Purple,Thick]}]

ParametricPlot[Evaluate[Table[{(v+i) Cos[u],(v+i)Sin[u]},{i,1,3}]],{u,0,2Pi},{v,0,0.75},Mesh->None,PlotStyle->{Blue,Red,Directive[Purple,Opacity[1]]}]

Add labels:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},AxesLabel->{x,y},PlotLabel->r==u],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},FrameLabel->{x,y},PlotLabel->r==u+v]}

Provide an interactive (RefLink[Tooltip, paclet:ref/Tooltip]) for each curve or region:

{ParametricPlot[Evaluate[Table[Tooltip[{i Cos[u],i Sin[u]},i],{i,1,3}]],{u,0,2Pi}],
ParametricPlot[Evaluate[Table[Tooltip[{(v+i) Cos[u],(v+i)Sin[u]},i],{i,1,3}]],{u,0,2Pi},{v,0,0.75},Mesh->None]}

Create an overlay mesh:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->20],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->{20,5}]}

Style the areas between mesh levels:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Thick,Mesh->20,MeshShading->{Red,Orange,Yellow}],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->{20,5},MeshShading->{{Red,Yellow},{Pink,Orange}}]}

Color by parameter values:

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Thick,ColorFunction->Function[{x,y,u},Hue[u/(2Pi)]],ColorFunctionScaling->False]

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->False,ColorFunction->Function[{x,y,u,v},Hue[u/(2Pi)]],ColorFunctionScaling->False]

Use a plot theme:

ParametricPlot[{Sin[3t+Pi/2],Sin[t]},{t,0,2Pi},Mesh->True,GridLines->Automatic,PlotTheme->"Scientific", PlotLegends->{"Lissajous Curve"}]

OpenersExampleSection2(Spacer1)Options  (83)

OpenersExampleSubsection3(Spacer1)AspectRatio  (2)

By default, (RefLink[AspectRatio, paclet:ref/AspectRatio]) comes from (RefLink[PlotRange, paclet:ref/PlotRange]):

ParametricPlot[{Cos[u],1/10Sin[u]},{u,0,2Pi}]

ParametricPlot[{v Cos[u],1/10v Sin[u]},{u,0,2Pi},{v,1,2}]

Set a different (RefLink[AspectRatio, paclet:ref/AspectRatio]):

ParametricPlot[{Cos[u],1/10Sin[u]},{u,0,2Pi},AspectRatio->1/2]

ParametricPlot[{v Cos[u],1/10v Sin[u]},{u,0,2Pi},{v,1,2},AspectRatio->1/2]

OpenersExampleSubsection4(Spacer1)Axes  (1)

Draw no axes:

{ParametricPlot[{Cos[u],Sin[u]},{u,0,2Pi},Axes->False],ParametricPlot[{v Cos[u],v Sin[u]},{u,0,2Pi},{v,1,2},Axes->False]}

OpenersExampleSubsection5(Spacer1)AxesLabel  (1)

Specify labels for the x and y axes:

ParametricPlot[{Cos[u]/(u+1), Sin[u]/(u+1)},{u,0,3Pi},AxesLabel->{x,y}]

OpenersExampleSubsection6(Spacer1)AxesOrigin  (2)

Determine where the axes cross automatically:

ParametricPlot[{Cos[u]+2,Sin[u]-2},{u,0,2Pi},AxesOrigin->Automatic]

Specify the axes origin at the point {0,0}:

ParametricPlot[{Cos[u]+2,Sin[u]-2},{u,0,2Pi},AxesOrigin->{0,0}]

OpenersExampleSubsection7(Spacer1)BoundaryStyle  (3)

Use a red boundary around the edges of the surface:

ParametricPlot[{(u+v)Cos[u],(u+v)Sin[u]},{u,0,4Pi},{v,0,5},BoundaryStyle->Red,Mesh->None]

(RefLink[BoundaryStyle, paclet:ref/BoundaryStyle]) applies to regions cut by (RefLink[RegionFunction, paclet:ref/RegionFunction]):

ParametricPlot[{(u+v)Cos[u],(u+v)Sin[u]},{u,0,4Pi},{v,0,5}, BoundaryStyle->Red,RegionFunction->Function[{x,y,u,v},Sin[5u]>0],Mesh->None]

(RefLink[BoundaryStyle, paclet:ref/BoundaryStyle]) does not apply to holes cut by (RefLink[Exclusions, paclet:ref/Exclusions]):

ParametricPlot[{(v+Floor[u])Cos[u],(v+Floor[u])Sin[u]},{u,0,4Pi},{v,0,5}, BoundaryStyle->Red,Mesh->None]

OpenersExampleSubsection8(Spacer1)ColorFunction  (5)

Color the curve by scaled x, y, or u values:

Table[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},ColorFunction->Function[{x,y,u},i],PlotLabel->i,PlotStyle->Thick],{i,{Hue[x],Hue[y],Hue[u]}}]

Color by scaled u and v parameter values:

Table[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},ColorFunction->Function[{x,y,u,v},i],PlotLabel->i],{i,{Hue[u],Hue[v]}}]

Use a named color gradient:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},ColorFunction->"DarkRainbow"],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},ColorFunction->"DarkRainbow"]}

(RefLink[ColorFunction, paclet:ref/ColorFunction]) has higher priority than (RefLink[PlotStyle, paclet:ref/PlotStyle]):

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},ColorFunction->"DarkRainbow",PlotStyle->Directive[Red,Thick]],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},ColorFunction->"DarkRainbow",PlotStyle->Directive[Red,Opacity[0.5]]]}

Use red for the parameter u>π:

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},ColorFunction->Function[{x,y,u},If[u>Pi,Red,Black]],ColorFunctionScaling->False,PlotStyle->Thick]

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},ColorFunction->Function[{x,y,u},If[u>Pi,Red,Black]],ColorFunctionScaling->False]

OpenersExampleSubsection9(Spacer1)ColorFunctionScaling  (2)

Color the curve by angle:

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Thick,ColorFunction->Function[{x,y,u},Hue[u/(2Pi)]],ColorFunctionScaling->False]

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

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->False,ColorFunction->Function[{x,y,u,v},Directive[Hue[u/(2Pi)],Opacity[v]]],ColorFunctionScaling->{True,True,False,True}]

OpenersExampleSubsection10(Spacer1)EvaluationMonitor  (3)

Find the list of parameter values evaluated:

Reap[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,6Pi},EvaluationMonitor:>Sow[u]];]//Short

Reap[ParametricPlot[{(v+1)u Cos[u],(v+1)u Sin[u]},{u,0,6Pi},{v,0.5,1},EvaluationMonitor:>Sow[{u,v}]];]//Short

Find the parametric coordinate values:

data=Reap[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,6Pi}, EvaluationMonitor :> Sow[{u Cos[u],u Sin[u]}]] ][[-1,1]];

ListPlot[data ]

data=Reap[ParametricPlot[{(v+1)u Cos[u],(v+1)u Sin[u]},{u,0,6Pi},{v,0.5,1},EvaluationMonitor :> Sow[{(v+1)u Cos[u],(v+1)u Sin[u]}]] ][[-1,1]];

ListPlot[data ]

Count how many times the function is evaluated:

Block[{k=0},ParametricPlot[{u Cos[u],u Sin[u]},{u,0,6Pi},EvaluationMonitor:>k++];k]

Block[{k=0},ParametricPlot[{(v+1)u Cos[u],(v+1)u Sin[u]},{u,0,6Pi},{v,0.5,1},EvaluationMonitor:>k++];k]

OpenersExampleSubsection11(Spacer1)Exclusions  (5)

Automatically determine exclusions:

ParametricPlot[{ Floor[u]Cos[u], Floor[u]Sin[u]}, {u,0,4Pi}]

ParametricPlot[{v Floor[u]Cos[u],v Floor[u]Sin[u]}, {u,0,4Pi},{v,1,3/2},Mesh->None,Axes->None]

Specify exclusions using equations:

ParametricPlot[{Tan[u],u},{u,0,2Pi},Exclusions->{Cos[u]==0}]

Exclude a fixed set of points:

ParametricPlot[{Mod[u,Pi/10]Cos[u],Mod[u,Pi/10]Sin[u]}, {u, 0, 2Pi},Axes->False,Exclusions->Range[0,2Pi,Pi/10]]

Use no exclusions:

ParametricPlot[{Floor[u]Cos[u],Floor[u]Sin[u]}, {u, 0, 6Pi},Exclusions->None]

Exclude an equation and the automatically chosen points:

ParametricPlot[{Abs[u],Floor[Tan[u]]},{u,-2Pi,2Pi},Exclusions->{Automatic,Cos[u]==0},PlotStyle->Thick]

OpenersExampleSubsection12(Spacer1)ExclusionsStyle  (3)

Specify explicit styling for lines joining exclusion points:

ParametricPlot[{u,Tan[u]}, {u, -2Pi, 2Pi},ExclusionsStyle->Dashed,Exclusions->{Cos[u]==0}]

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

ParametricPlot[{u,Floor[u]}, {u, 0,5},ExclusionsStyle->{Dashed,PointSize[Medium]}]

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

ParametricPlot[{(v+Floor[u])Cos[u],(v+Floor[u])Sin[u]},{u,0,2Pi},{v,0,5},ExclusionsStyle->{None,Red},Mesh->None]

OpenersExampleSubsection13(Spacer1)LabelingSize  (2)

Textual labels are shown at their actual sizes:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},"parametric curve",{3,-3}],{u,0,2Pi}]

Specify the size of the text:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},"parametric curve",{3,-3}],{u,0,2Pi},LabelingSize->40]

Image labels are resized to fit in the plot:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},,{3,-3}],{u,0,2Pi}]

Specify the labeling size:

ParametricPlot[Callout[{u Cos[u],u Sin[u]},,{3,-3}],{u,0,2Pi},LabelingSize->60]

OpenersExampleSubsection14(Spacer1)MaxRecursion  (2)

Each level of (RefLink[MaxRecursion, paclet:ref/MaxRecursion]) will adaptively subdivide the initial mesh into a finer mesh:

Table[ ParametricPlot[{u Cos[u],u Sin[u]},{u,0,6Pi},MaxRecursion->i,Mesh->All,Ticks->None],{i,{0,3,6}}]

Subdivision for parametric regions:

Table[ ParametricPlot[{(v+1)u Cos[u],(v+1)u Sin[u]},{u,0,6Pi},{v,0.5,1},MaxRecursion->i,Mesh->All,FrameTicks->None],{i,{0,1,2}}]

OpenersExampleSubsection15(Spacer1)Mesh  (5)

Show the initial and final sampling meshes:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->Full],ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->All]}

{ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->Full,Axes->False],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->All,Axes->False]}

Use 10 mesh levels evenly spaced in the parameter directions:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->10],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->10,Axes->False]}

Use a different number of mesh lines in different directions:

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->{20,2},Axes->False]

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

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->{Range[0,4Pi,Pi/5]}],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->{Range[0,4Pi,Pi/5],0},Axes->False]}

Use explicit value and style for the u mesh:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->{{{3Pi/4,PointSize[Medium]},{11Pi/4,Red}}}],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#3&},Axes->False,Mesh->{{{3Pi/4,Thick},{11Pi/4,Red}}}]}

OpenersExampleSubsection16(Spacer1)MeshFunctions  (3)

Use a mesh evenly spaced in the x, y, and u directions:

Table[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},MeshFunctions->{f},Mesh->20],{f,{Function[{x,y,u},x],Function[{x,y,u},y],Function[{x,y,u},u]}}]

Use a mesh evenly spaced in the x, y, u, and v directions:

Table[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{f},Mesh->5,Axes->None],{f,{Function[{x,y,u},x],Function[{x,y,u,v},y],Function[{x,y,u,v},u],Function[{x,y,u,v},v]}}]

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

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->{5,10},MeshFunctions->{#1&,#2&},MeshStyle->{Directive[PointSize[Medium],Red],Blue}]

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->{5,10},MeshFunctions->{#1&,#2&},MeshStyle->{Directive[PointSize[Medium],Red],Blue},Axes->None]

OpenersExampleSubsection17(Spacer1)MeshShading  (7)

Alternate red and blue arcs in the u direction:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->15,MeshFunctions->{#3&},MeshShading->{Red,Blue},Mesh->Automatic],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#3&},MeshShading->{Red,Blue},Mesh->Automatic]}

Use (RefLink[None, paclet:ref/None]) to remove segments:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->15,MeshFunctions->{#3&},MeshShading->{Red,None},Mesh->Automatic],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#3&},MeshShading->{Red,None},Mesh->Automatic]}

(RefLink[MeshShading, paclet:ref/MeshShading]) can be used with (RefLink[PlotStyle, paclet:ref/PlotStyle]):

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Thick,Mesh->15,MeshFunctions->{#3&},MeshShading->{Red,Blue},Mesh->Automatic]

(RefLink[MeshShading, paclet:ref/MeshShading]) has higher priority than (RefLink[PlotStyle, paclet:ref/PlotStyle]) for styling:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Green,Mesh->15,MeshFunctions->{#3&},MeshShading->{Red,Blue},Mesh->Automatic],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PlotStyle->Green,MeshFunctions->{#3&},MeshShading->{Red,Blue},Mesh->Automatic]}

Use (RefLink[PlotStyle, paclet:ref/PlotStyle]) for some segments by setting (RefLink[MeshShading, paclet:ref/MeshShading]) to (RefLink[Automatic, paclet:ref/Automatic]):

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Directive[Thick,Yellow],Mesh->15,MeshFunctions->{#3&},MeshShading->{Red,Automatic},Mesh->Automatic]

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PlotStyle->Directive[Opacity[0.5],Yellow],MeshFunctions->{#3&},MeshShading->{Red,Automatic},Mesh->Automatic]

(RefLink[MeshShading, paclet:ref/MeshShading]) can be used with (RefLink[ColorFunction, paclet:ref/ColorFunction]):

ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Thick,ColorFunction->Function[{x,y,u},Hue[x]],Mesh->15,MeshFunctions->{#3&},MeshShading->{Black,Automatic},Mesh->Automatic]

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},ColorFunction->Function[{x,y,u,v},Hue[x]],MeshFunctions->{#3&},MeshShading->{Black,Automatic},Mesh->Automatic]

Fill between regions defined by multiple mesh functions:

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},ColorFunction->Function[{x,y,u,v},Hue[x]],Mesh->{30,5},MeshShading->{{Black,Automatic},{None,Orange}},Mesh->Automatic]

OpenersExampleSubsection18(Spacer1)MeshStyle  (4)

Automatically choose the mesh style:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->15],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->Automatic]}

Use a red mesh in the x direction:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->15,MeshFunctions->{#1&},MeshStyle->Red,Mesh->Automatic],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#1&},MeshStyle->Red,Mesh->Automatic]}

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

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->15,MeshFunctions->{#1&,#2&},MeshStyle->{Red,Blue},Mesh->Automatic],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#1&,#2&},MeshStyle->{Red,Blue},Mesh->Automatic]}

Use big red mesh levels in the x direction:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},Mesh->15,MeshFunctions->{#1&},MeshStyle->Directive[PointSize[Large],Red],Mesh->Automatic],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#1&},MeshStyle->Directive[Thick,Red],Mesh->Automatic]}

OpenersExampleSubsection19(Spacer1)PerformanceGoal  (2)

Generate a higher-quality plot:

Timing[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PerformanceGoal->"Quality"]]

Timing[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PerformanceGoal->"Quality"]]

Emphasize performance, possibly at the cost of quality:

Timing[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PerformanceGoal->"Speed"]]

Timing[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PerformanceGoal->"Speed"]]

OpenersExampleSubsection20(Spacer1)PlotLabels  (6)

Specify the text to label the curves:

ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->{"label1","label2"}]

Place the labels above the curves:

ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->Placed[{"label1","label2"},Above]]

Place the labels differently for each curve:

ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->{Placed["label1",Above],Placed["label2",Below]}]

(RefLink[PlotLabels, paclet:ref/PlotLabels])->"Expressions" uses functions as curve labels:

ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->"Expressions"]

Use callouts to identify the curves:

ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->{Callout["label1",{Scaled[0.125],Above}],Callout["label2",{Scaled[0.85],Below}]}]

Put labels relative to the outside of the curves:

Table[ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->Callout[{"label1","label2"},pos]],{pos,{After,Before}}]

Use (RefLink[None, paclet:ref/None]) to not add a label:

ParametricPlot[{{Sin[x],Cos[x+0.5]},{Sin[x+0.5],Cos[x]}},{x,0,2π},PlotLabels->{"label1",None}]

OpenersExampleSubsection21(Spacer1)PlotLegends  (7)

No legends are used by default:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi}]

Create a legend based on the functions:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotLegends->"Expressions"]

Create a legend with placeholder text:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotLegends->Automatic]

Create a legend with specific labels:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotLegends->{"one","two"}]

(RefLink[PlotLegends, paclet:ref/PlotLegends]) picks up (RefLink[PlotStyle, paclet:ref/PlotStyle]) values automatically:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotStyle->{Red,Blue},PlotLegends->Automatic]

Use (RefLink[Placed, paclet:ref/Placed]) to position legends:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotStyle->{Red,Blue},PlotLegends->Placed[Automatic,Below]]

Place legends inside:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotStyle->{Red,Blue},PlotLegends->Placed[Automatic,{0.5,0.5}],Axes->False]

Use (RefLink[LineLegend, paclet:ref/LineLegend]) to modify the appearance of the legend:

ParametricPlot[{{2 Cos[t], Sin[t]},{Cos[t],2Sin[t]}},{t,0,2Pi},PlotLegends->LineLegend["Expressions",LegendFunction->Frame]]

OpenersExampleSubsection22(Spacer1)PlotPoints  (2)

Use more initial points to get a smoother plot:

Table[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotPoints->i,MaxRecursion->0],{i,{10,15,25,50}}]

Table[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PlotPoints->i,MaxRecursion->0,Mesh->None],{i,{10,15,25,50}}]

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

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PlotPoints->{50,2},MaxRecursion->0,Mesh->None]

OpenersExampleSubsection23(Spacer1)PlotRange  (2)

Show the plot where -12≤x≤12 and -12≤y≤12:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,10},PlotRange->12],
ParametricPlot[{(u+v) Cos[u],(u+v)  Sin[u]},{u,0,10},{v,0,1},PlotRange->12]}

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

ParametricPlot[{Exp[u] Cos[u],Exp[u] Sin[u]},{u,0,10}]

Use (RefLink[PlotRange, paclet:ref/PlotRange]) to focus in on areas of interest:

Table[ParametricPlot[{Exp[u] Cos[u],Exp[u] Sin[u]},{u,0,10},PlotRange->pr],{pr,{10,50,250}}]

OpenersExampleSubsection24(Spacer1)PlotStyle  (4)

Use different style directives:

Table[ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->ps],{ps,{Red,Thick,Dashed,Directive[Red,Thick]}}]

Table[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PlotStyle->ps],{ps,{Red,Opacity[1],Opacity[0.3],Directive[Red,Opacity[1]]}}]

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

ParametricPlot[Evaluate[Table[
{u Cos[u+i Pi/2],u Sin[u+i Pi/2]},{i,0,3}]],{u,0,4Pi}]

ParametricPlot[Evaluate[Table[
{(v+u)Cos[u+i Pi/2],(v+u)Sin[u+i Pi/2]},{i,0,3}]],{u,0,4Pi},{v,0,1},Mesh->None]

Explicitly specify the style for different curves and regions:

ParametricPlot[Evaluate[Table[
{u Cos[u+i Pi/2],u Sin[u+i Pi/2]},{i,0,3}]],{u,0,4Pi},PlotStyle->{Red,Blue,Purple,Orange}]

ParametricPlot[Evaluate[Table[
{(v+u)Cos[u+i Pi/2],(v+u)Sin[u+i Pi/2]},{i,0,3}]],{u,0,4Pi},{v,0,1},Mesh->None,PlotStyle->{Red,Blue,Purple,Orange}]

(RefLink[PlotStyle, paclet:ref/PlotStyle]) can be combined with (RefLink[ColorFunction, paclet:ref/ColorFunction]):

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},PlotStyle->Thick,ColorFunction->Function[{x,y,u},Hue[u]]],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},PlotStyle->Opacity[0.3],ColorFunction->Function[{x,y,u,v},Hue[u]]]}

OpenersExampleSubsection25(Spacer1)PlotTheme  (2)

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

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#3&},PlotTheme->"Business"]

Change the color scheme:

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},MeshFunctions->{#3&},PlotTheme->"Business",PlotStyle->12]

OpenersExampleSubsection26(Spacer1)RegionFunction  (1)

Show the plot where sin(5u) >0:

{ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi},RegionFunction->Function[{x,y,u},Sin[5u]>0],PlotStyle->Thick],ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},RegionFunction->Function[{x,y,u,v},0<Sin[5u]],Mesh->None]}

OpenersExampleSubsection27(Spacer1)TextureCoordinateFunction  (4)

Textures use scaled u and v parameters by default:

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->None,PlotStyle->{Opacity[1],Texture[ExampleData[{"ColorTexture","LightCherry"}]]}]

Use the x and y coordinates:

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->None,TextureCoordinateFunction->({#1,#2}&),PlotStyle->{Opacity[1],Texture[ExampleData[{"ColorTexture","LightCherry"}]]}]

Use unscaled coordinates:

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->None,TextureCoordinateFunction->({#1,#2}&),TextureCoordinateScaling->False,PlotStyle->{Opacity[1],Texture[ExampleData[{"ColorTexture","LightCherry"}]]}]

Use textures to highlight how parameters map onto a surface:

texture=ArrayPlot[{{1,1,1,2,1,1},{2,0,0,2,0,0},{2,0,0,2,0,0},{2,1,1,1,1,1},{2,0,0,2,0,0},{2,0,0,2,0,0}},ColorRules->{1->Red,2->Blue,0->White},Frame->False,PlotRangePadding->None,ImagePadding->None,ImageSize->100]

ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->None,TextureCoordinateScaling->False,PlotStyle->Texture[texture]]

OpenersExampleSubsection28(Spacer1)TextureCoordinateScaling  (1)

Use scaled or unscaled coordinates for textures:

texture=ArrayPlot[{{1,1,1,2,1,1},{2,0,0,2,0,0},{2,0,0,2,0,0},{2,1,1,1,1,1},{2,0,0,2,0,0},{2,0,0,2,0,0}},ColorRules->{1->Red,2->Blue,0->White},Frame->False,PlotRangePadding->None,ImagePadding->None,ImageSize->100]

Table[ParametricPlot[{(v+u) Cos[u],(v+u) Sin[u]},{u,0,4Pi},{v,0,5},Mesh->None,TextureCoordinateScaling->s,PlotStyle->Texture[texture],PlotLabel->s],{s,{True,False}}]

OpenersExampleSubsection29(Spacer1)WorkingPrecision  (2)

Evaluate functions using machine-precision arithmetic:

{ParametricPlot[{Cos[u],Sin[u+10^20]},{u,0,2Pi},WorkingPrecision->MachinePrecision],
ParametricPlot[{v Cos[u],v Sin[u+10^20]},{u,0,2Pi},{v,1,2},WorkingPrecision->MachinePrecision]}

Evaluate functions using arbitrary-precision arithmetic:

{ParametricPlot[{Cos[u],Sin[u+10^20]},{u,0,2Pi},WorkingPrecision->20],
ParametricPlot[{v Cos[u],v Sin[u+10^20]},{u,0,2Pi},{v,1,2},WorkingPrecision->20]}

OpenersExampleSection3(Spacer1)Applications  (9)

Simple parametric curves including a line:

ParametricPlot[{3u+4,u+2},{u,0,1}]

Circle:

ParametricPlot[{Cos[u],Sin[u]},{u,0,2Pi}]

Ellipse:

ParametricPlot[{2Cos[u],Sin[u]},{u,0,2Pi}]

Circle segment:

ParametricPlot[{Cos[u],Sin[u]},{u,Pi/4,5Pi/4}]

Ellipse segment:

ParametricPlot[{2Cos[u],Sin[u]},{u,Pi/4,5Pi/4}]

Simple parametric regions including a rectangle:

ParametricPlot[{u,v},{u,1,3},{v,3,4}]

Disk:

ParametricPlot[{v Cos[u],v Sin[u]},{u,0,2Pi},{v,0,1}]

Ellipse:

ParametricPlot[{2v Cos[u],v Sin[u]},{u,0,2Pi},{v,0,1}]

Disk sector:

ParametricPlot[{v Cos[u],v Sin[u]},{u,0,Pi/3},{v,0,1}]

Disk annulus:

ParametricPlot[{v Cos[u],v Sin[u]},{u,0,2Pi},{v,1/2,1}]

Disk sector annulus:

ParametricPlot[{v Cos[u],v Sin[u]},{u,0,Pi/3},{v,1/2,1}]

Rotated ellipses:

Table[ParametricPlot[Evaluate@RotationTransform[θ][{2Cos[u],Sin[u]}],{u,0,2Pi},PlotRange->2],{θ,{0,Pi/6,Pi/3,Pi/2}}]

Plot a whole family of rotated ellipses:

ParametricPlot[Evaluate@RotationTransform[θ][{2Cos[u],Sin[u]}],{u,0,2Pi},{θ,0,Pi/2},Mesh->Automatic]

Different parametrizations of circles:

{x,y}={Cos[u],Sin[u]};
x^2+y^2//Simplify

ParametricPlot[Evaluate[{x,y}],{u,0,2Pi},Mesh->100]

This rational parametrization is for -∞<u<∞:

{x,y}={((2u)/(1+(u^2))),((1-(u^2))/(1+(u^2)))};
x^2+y^2//Simplify

ParametricPlot[Evaluate[{x,y}],{u,-10,10},PlotRange->All,Mesh->100]

Plot Lissajous curves:

GraphicsGrid@Table[ParametricPlot[{Sin[m u],Sin[n u]},{u,0,2Pi}],{n,3},{m,3}]

Plot a Nyquist curve:

h=1/(s-1/2)^2/.s->Exp[I ω]

ParametricPlot[{Re[h],Im[h]},{ω,0,2Pi}]

Make a phase space plot of a solution to the Lotka–Volterra predator-prey equations:

NDSolve[{y'[t]==y[t](x[t]-1),x'[t]==x[t](2-y[t]),x[0]==1,y[0]==2.7},{x,y},{t,0,10}]

ParametricPlot[Evaluate[{x[t],y[t]}/.First[%]],{t,0,10}]

Plot complex mappings:

Table[ParametricPlot[{Re[(((u+I v))^n)],Im[(((u+I v))^n)]},{u,-2,2},{v,-2,2},MeshStyle->{Orange,Green},PlotRange->2,Mesh->Automatic],{n,{1,1/2,1/3}}]

A Joukowski map:

ParametricPlot[With[{z=u+I v},{Re[z+1/z],Im[z+1/z]}],{u,-1/2,1/2},{v,-1/2,1/2},PlotRange->5,Mesh->Automatic]

Model a two-link planar robot:

t01=Composition[RotationTransform[θ1],TranslationTransform[{1,0}]];

t12=Composition[RotationTransform[θ2],TranslationTransform[{1,0}]];

t02 =Simplify @  Composition[t01, t12]

Plot the range of motion of the end effector for (π/3)≤(Subscript[θ, 1])≤((2 π)/3) and -(π/3)≤(Subscript[θ, 2])≤(π/3):

ParametricPlot[Evaluate[t02[{0,0}]],{θ1,Pi/3,2Pi/3},{θ2,-Pi/2,Pi/2},PlotRange->{{-2,2},{0,2}},Mesh->Automatic]

OpenersExampleSection4(Spacer1)Properties & Relations  (7)

(RefLink[Plot, paclet:ref/Plot]) is a special case of (RefLink[ParametricPlot, paclet:ref/ParametricPlot]) for curves:

{Plot[Sin[x^2],{x,0,5}],ParametricPlot[{x,Sin[x^2]},{x,0,5},AspectRatio->1/GoldenRatio]}

(RefLink[PolarPlot, paclet:ref/PolarPlot]) is a special case of (RefLink[ParametricPlot, paclet:ref/ParametricPlot]) for curves:

{PolarPlot[u,{u,0,4Pi}],
ParametricPlot[{u Cos[u],u Sin[u]},{u,0,4Pi}]}

Use (RefLink[ListPlot, paclet:ref/ListPlot]) and (RefLink[ListLinePlot, paclet:ref/ListLinePlot]) for data:

{ListLinePlot[Table[{Cos[u],Sin[3u]},{u,0,2Pi,0.1}]],ParametricPlot[{Cos[u],Sin[3u]},{u,0,2Pi},AspectRatio->1/GoldenRatio]}

Use (RefLink[ContourPlot, paclet:ref/ContourPlot]) and (RefLink[RegionPlot, paclet:ref/RegionPlot]) for implicit curves and regions:

{ContourPlot[x^2+y^2==1,{x,-1,1},{y,-1,1}],RegionPlot[1<x^2+y^2<4,{x,-2,2},{y,-2,2}]}

Use (RefLink[LogPlot, paclet:ref/LogPlot]), (RefLink[LogLinearPlot, paclet:ref/LogLinearPlot]), and (RefLink[LogLogPlot, paclet:ref/LogLogPlot]) for logarithmic plots:

LogLogPlot[Abs[10^2/((I ω)^2+100)],{ω,10^0,10^5}]

Use (RefLink[Plot3D, paclet:ref/Plot3D]) and (RefLink[ParametricPlot3D, paclet:ref/ParametricPlot3D]) for function and parametric surfaces:

Plot3D[(x^2+y^2)Exp[-(x^2+y^2)],{x,-2,2},{y,-2,2}]

ParametricPlot3D[{-2 Cos[u] Cos[v]^3,-2 Cos[v]^2 Sin[u],2 Tan[v]},{u,0,2Pi},{v,-1,1}]

Use (RefLink[RevolutionPlot3D, paclet:ref/RevolutionPlot3D]) and (RefLink[SphericalPlot3D, paclet:ref/SphericalPlot3D]) for cylindrical and spherical coordinates:

RevolutionPlot3D[-(ϕ+ Sin[r]),{r,0,4Pi},{ϕ,0,2Pi}]

SphericalPlot3D[1+1/5Sin[3v],{u,0,Pi},{v,0,2Pi}]

OpenersExampleSection5(Spacer1)Possible Issues  (1)

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

ParametricPlot[Table[{Sin[u],Sin[2n u]},{n,2}],{u,0,2Pi}]

Use (RefLink[Evaluate, paclet:ref/Evaluate]) to get an explicit list of curves:

ParametricPlot[Evaluate[Table[{Sin[u],Sin[2n u]},{n,2}]],{u,0,2Pi}]

OpenersExampleSection6(Spacer1)Neat Examples  (1)

Forced undersampling:

ParametricPlot[{Sin[u]u ,Cos[u]u}, 
{u,0,100},PlotPoints->125,Axes->False,ColorFunction->(ColorData["Rainbow"][#3]&),MaxRecursion->0,PlotStyle->Thick]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[PolarPlot, paclet:ref/PolarPlot])  ▪  (RefLink[ContourPlot, paclet:ref/ContourPlot])  ▪  (RefLink[RegionPlot, paclet:ref/RegionPlot])  ▪  (RefLink[Plot, paclet:ref/Plot])  ▪  (RefLink[StreamPlot, paclet:ref/StreamPlot])  ▪  (RefLink[ParametricPlot3D, paclet:ref/ParametricPlot3D])  ▪  (RefLink[ComplexPlot, paclet:ref/ComplexPlot])  ▪  (RefLink[Graphics, paclet:ref/Graphics])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Parametric Plots, paclet:tutorial/ParametricPlots])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Function Visualization, paclet:guide/FunctionVisualization])}, {▪(RefLinkPlain[System Model Analytics & Design, paclet:guide/SystemModelAnalyticsDesign])}})}})