plots points equally spaced in angle at radii ri.


plots points at polar coordinates θi, ri.


plots several lists of values.

Details and Options

  • ListPolarPlot[list] by default plots each element of list as a separate point.
  • ListPolarPlot[list,Joined->True] draws a line through the list of points.
  • The angle is measured in radians, counterclockwise from the positive axis.
  • The , position corresponding to , is , . The value of need not be between 0 and .
  • In ListPolarPlot[{r1,,rn}], r1 is taken to be associated with , and rn with .
  • The following wrappers w can be used for the listi:
  • Annotation[listi,label]provide an annotation for the data
    Button[listi,action]define an action to execute when the data is clicked
    Callout[listi,label]label the data with a callout
    Callout[listi,label,pos]place the callout at relative position pos
    EventHandler[listi,]define a general event handler for the data
    Hyperlink[listi,uri]make the data a hyperlink
    Labeled[listi,label]label the data
    Labeled[listi,label,pos]place the label at relative position pos
    Legended[listi,label]identify the data in a legend
    PopupWindow[listi,cont]attach a popup window to the data
    StatusArea[listi,label]display in the status area on mouseover
    Style[listi,styles]show the data using the specified styles
    Tooltip[listi,label]attach a tooltip to the data
    Tooltip[listi]use data values as tooltips
  • Wrappers w can be applied at multiple levels:
  • {,w[ri],}wrap the value ri in data
    {,w[{θ1,r1}],}wrap the point {θ1,r1}
    w[listi]wrap the data
    w[{list1,}]wrap a collection of listi
    w1[w2[]]use nested wrappers
  • Callout, Labeled and Placed can use the following positions pos:
  • Automaticautomatically placed labels
    Above, Below, Before, Afterpositions around the data
    {x,y}at a position {x,y}
    Scaled[s]scaled position s along the data
    {s,Above},{s,Below},relative position at position s along the data
    {pos,epos}epos in label placed at relative position pos of the data
  • ListPolarPlot has the same options as ListPlot, with the following changes:
  • AspectRatioAutomaticratio of height to width
    AxesOrigin{0,0}where axes should cross
    LabelingFunction Automatichow to label points
    LabelingSize Automaticmaximum size of callouts and labels
    MeshFunctions {#3&}how to determine placement of mesh points
    PlotLabels Nonelabels for data
    PlotLegends Nonelegends for data
    PolarAxesFalsewhether to draw polar axes
    PolarAxesOriginAutomaticwhere to draw polar axes
    PolarGridLinesNonepolar grid lines to draw
    PolarTicksAutomaticpolar axes ticks
    ScalingFunctions Nonehow to scale individual coordinates
  • Possible settings for ScalingFunctions include:
  • srscale the r axis
    {sx,sy}scale the r axis
    {sx,sy,sθ,sr}scale x, y, θ and r
  • Common built-in scaling functions s include:
  • "Log"log scale with automatic tick labeling
    "Log10"base-10 log scale with powers of 10 for ticks
    "SignedLog"log-like scale that includes 0 and negative numbers
    "Reverse"reverse the coordinate direction
    "Infinite"infinite scale
  • In general, you cannot scale both x or y and r simultaneously.


open allclose all

Basic Examples  (3)

Plot a list of radii r equally spaced in angle:

Join the points with a line:

Use θ, r coordinates for the data:

Show multiple sets of data with a legend:

Scope  (29)

Data  (9)

For regular data consisting of r values, the θ data range is uniformly spaced:

Provide an explicit θ data range by using DataRange:

Plot multiple sets of regular data:

For irregular data consisting of θ, r value pairs, the θ data range is inferred from data:

Plot multiple sets of irregular data:

Ranges where the data is nonreal are excluded:

Use MaxPlotPoints to limit the number of points used:

PlotRange is selected automatically:

Use PlotRange to focus on areas of interest:

Plot a TimeSeries:

Labeling and Legending  (11)

Add labels to each point:

Use Callout to add a label to a set of points:

Place the label at a position:

Place the label at scaled position:

Place the labels relative to the inside of the data:

Place the labels relative to the outside of the data:

Label the data with PlotLabels:

Label multiple curves:

Use a scaled position:

Specify the text position relative to the point:

Specify the label at {x,y} position:

Reverse the direction of the x axis:

Use a log scale for the radius:

Presentation  (9)

Use Joined to connect datasets with lines:

Multiple datasets are automatically colored to be distinct:

Provide explicit styling to different sets:

Add labels:

Provide an interactive Tooltip for the data:

Use shapes to distinguish different datasets:

Use legends:

Use Legended to add an additional legend:

Use InterpolationOrder to smooth joined data:

Use a theme with dark background and simple ticks:

Options  (92)

ColorFunction  (5)

ColorFunction only applies to Joined datasets:

Color by scaled x, y, theta, and r coordinates:

Color with a named color scheme:

ColorFunction has higher priority than PlotStyle for coloring the curve:

Use Automatic in MeshShading to use ColorFunction:

ColorFunctionScaling  (3)

ColorFunctionScaling only applies to Joined datasets:

Color the line based on the scaled r value:

Manually scale the r value:

DataRange  (4)

Lists of radii are equally spaced in angle around the origin:

Give the starting and ending angles:

Each dataset is scaled to the same domain:

Pairs are interpreted as θ, r coordinates:

Specifying DataRange in this case has no effect, since θ values are part of the data:

ImageSize  (7)

Use named sizes such as Tiny, Small, Medium and Large:

Specify the width of the plot:

Specify the height of the plot:

Allow the width and height to be up to a certain size:

Specify the width and height for a graphic, padding with space if necessary:

Setting AspectRatioFull will fill the available space:

Use maximum sizes for the width and height:

Use ImageSizeFull to fill the available space in an object:

Specify the image size as a fraction of the available space:

InterpolationOrder  (5)

Joined lines can be interpolated:

By default, linear interpolation is used:

Use zero-order or piecewise-constant interpolation:

Use third-order spline interpolation:

Interpolation order zero to 5:

Joined  (3)

Join the dataset with a line:

Join the first dataset with a line, but use points for the second dataset:

Join the dataset with a line and show the original points:

LabelingFunction  (7)

By default, points are automatically labeled with strings:

Use LabelingFunction->None to suppress the labels:

Put the labels above the points:

Put them in a tooltip:

Use Callout to label the points:

Label the points with their values:

Label the points with their indices:

Specify an overall label with PlotLabels and put individual labels in Tooltip:

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:

MaxPlotPoints  (2)

All points are included by default:

Uniformly spaced data is downsampled:

In this case, downsample from to points:

Mesh  (6)

Mesh only applies to Joined datasets:

The initial and final sampling meshes are typically the same:

Interpolated data may introduce points:

Use 20 mesh levels evenly spaced in the θ direction:

Use an explicit list of values for the mesh in the θ direction:

Use explicit styles at specific points:

MeshFunctions  (3)

MeshFunctions only applies to Joined datasets:

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)

MeshShading only applies to Joined datasets:

Alternate red and blue segments of equal angles in the θ direction:

Use None to remove segments:

MeshShading can be used with PlotStyle:

MeshShading has higher priority than PlotStyle for styling the curve:

Use PlotStyle for some segments by setting MeshShading to Automatic:

MeshShading can be used with ColorFunction and has higher priority:

MeshStyle  (5)

MeshStyle only applies to Joined datasets:

Color the mesh the same color as the plot:

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 points in the θ direction:

PlotLabels  (5)

Add labels to the data:

Place the labels above the data:

Place the labels in different locations:

Use scaled position to place the labels:

Place labels relatively to the data:

Use None to not add a label:

PlotLegends  (7)

No legend is used, by default:

Use a list of labels for a legend:

Generate a legend using placeholders:

Legends use the same styles as the plot:

Use Placed to specify the legend placement:

Place the legend inside the plot:

Legend layout changes automatically along with position:

Use PointLegend to change the legend appearance:

PlotMarkers  (8)

ListPolarPlot normally uses distinct colors to distinguish different sets of data:

Automatically use colors and shapes to distinguish sets of data:

Use shapes only:

Change the size of the default plot markers:

Use arbitrary text for plot markers:

Use explicit graphics for plot markers:

Use the same symbol for all the sets of data:

Explicitly use a symbol and size:

PlotRange  (2)

PlotRange is automatically calculated:

Show the whole dataset:

PlotStyle  (7)

Use different style directives:

By default, different styles are chosen for multiple datasets:

Explicitly specify the style for different datasets:

PlotStyle applies to both lines and points:

PlotStyle can be combined with ColorFunction:

PlotStyle can be combined with MeshShading and has lower priority:

MeshStyle by default uses the same style as PlotStyle:

PlotTheme  (1)

Use a theme with detailed ticks and simple grid lines:

Add a theme with detailed polar grid lines:

Add a color function:

ScalingFunctions  (3)

By default, ListPolarPlot uses natural scale in both axes:

Use ScalingFunctions to reverse the coordinate direction in the y direction:

Use a log scale for the radius:

Properties & Relations  (13)

ListPolarPlot is a special case of ListPlot:

Use PolarPlot for functions:

Use ListPlot and ListLinePlot for Cartesian plots:

Use ListLogPlot, ListLogLogPlot, and ListLogLinearPlot for logarithmic plots:

Use DateListPlot to show data over time:

Use ListPointPlot3D to show three-dimensional points:

Use ListPlot3D to create surfaces from data:

Use ListContourPlot to create contours from continuous data:

Use ListDensityPlot to create densities from continuous data:

Use ArrayPlot and MatrixPlot for arrays of discrete values:

Use RevolutionPlot3D and SphericalPlot3D for cylindrical and spherical coordinates:

Use ParametricPlot for parametric curves:

RadialAxisPlot displays coordinates of -dimensional points around a circle:

Neat Examples  (1)

Parametrized butterflies:

Wolfram Research (2007), ListPolarPlot, Wolfram Language function, (updated 2022).


Wolfram Research (2007), ListPolarPlot, Wolfram Language function, (updated 2022).


Wolfram Language. 2007. "ListPolarPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022.


Wolfram Language. (2007). ListPolarPlot. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2022_listpolarplot, author="Wolfram Research", title="{ListPolarPlot}", year="2022", howpublished="\url{}", note=[Accessed: 31-May-2023 ]}


@online{reference.wolfram_2022_listpolarplot, organization={Wolfram Research}, title={ListPolarPlot}, year={2022}, url={}, note=[Accessed: 31-May-2023 ]}