ListPlot

ListPlot[{y1,,yn}]

plots regularly spaced points {i,yi}.

ListPlot[{{x1,y1},,{xn,yn}}]

generates a scatter plot with points {xi,yi}.

ListPlot[{data1,data2,}]

plots points from all the datai.

ListPlot[{,w[datai,],}]

plots datai with features defined by the symbolic wrapper w.

Details and Options

Examples

open allclose all

Basic Examples  (7)

Plot a list of values:

Plot a list of , pairs:

Plot several datai with a legend:

Label each point:

Label each datai:

Plot multiple datasets in a row of panels:

Use individual colors for each point:

Scope  (59)

General Data  (11)

For regular data consisting of values, the data range is taken to be integer values:

Provide an explicit data range by using DataRange:

Plot multiple sets of regular data:

Include units with the data:

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

Plot multiple sets of irregular data:

Plot multiple sets of data, regular or irregular, using DataRange to map them to the same range:

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:

Use ScalingFunctions to scale the axes:

Special Data  (9)

Use Quantity to include units with the data:

Include different units for the x and y coordinates:

Plot data in a QuantityArray:

Specify the units used with TargetUnits:

Plot data with uncertainty:

Use intervals:

Specify strings to use as labels:

Specify a location for labels:

Numeric values in an Association are used as the coordinates:

Numeric keys and values in an Association are used as the and coordinates:

Plot TimeSeries directly with automatic date ticks:

Plot data in a SparseArray:

The weights in WeightedData are ignored:

Data Wrappers  (6)

Use wrappers on individual data, datasets, or collections of datasets:

Wrappers can be nested:

Use the value of each point as a tooltip:

Use a specific label for all the points:

Labels points with automatically positioned text:

Use PopupWindow to provide additional drilldown information:

Button can be used to trigger any action:

Labeling and Legending  (16)

Label points with automatically positioned text:

Place the labels relative to the points:

Label data with Labeled:

Label data with PlotLabels:

Place the label near the points at a x value:

Use a scaled position:

Specify the text position relative to the point:

Label data automatically with Callout:

Place a label with a specific location:

Specify label names with LabelingFunction:

Specify the maximum size of labels:

Use the full label:

For dense sets of points, some labels may be turned into tooltips by default:

Increasing the size of the plot will show more labels:

Include legends for each curve:

Use Legended to provide a legend for a specific dataset:

Use Placed to change the legend location:

Use association keys as labels:

Plots 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  (17)

Multiple datasets are automatically colored to be distinct:

Provide explicit styling to different sets:

Use a plot theme:

Label data with Callout:

Include legends for each curve:

Use Legended to provide a legend for a specific dataset:

Add labels:

Provide an interactive Tooltip for the data:

Create filled plots:

Use shapes to distinguish different datasets:

Use labels to distinguish different datasets:

Use Joined to connect datasets with lines:

Use InterpolationOrder to smooth joined data:

Show multiple sets in a row of separate panels:

Use a column instead of a row:

Use multiple rows or columns:

Plot the data in a stacked layout:

Plot the data as percentiles of the total of the values:

Use different axes for the different items:

Specify where the axes should be placed:

Place shared axes as well:

Options  (155)

ClippingStyle  (6)

ClippingStyle requires at least one dataset to be Joined:

Omit clipped regions of the plot:

Show clipped regions like the rest of the curve:

Show clipped regions with red lines:

Show clipped regions as red at the bottom and thick at the top:

Show clipped regions as red and thick:

ColorFunction  (6)

Use a color function to color points by their values:

Color by scaled and coordinates:

Color with a named color scheme:

Fill with the color used for the curve:

ColorFunction has higher priority than PlotStyle for coloring the curve:

Use Automatic in MeshShading to use ColorFunction:

ColorFunctionScaling  (2)

Color the line based on the scaled value:

Color the line based on the unscaled value:

DataRange  (5)

Lists of height values are displayed against the number of elements:

Rescale to the sampling space:

Each dataset is scaled to the same domain:

Pairs are interpreted as , coordinates:

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

Force interpretation as multiple datasets:

Filling  (8)

Use symbolic or explicit values for "stem" filling:

Fill between corresponding points in two datasets:

Fill between datasets using a particular style:

Fill between datasets 1 and 2; use red when 1 is less than 2 and blue otherwise:

Fill to the axis for irregularly sampled data:

Use several irregular datasets; filling between them will use the first as the reference:

Joined datasets fill with solid areas:

The type of filling depends on whether the first set is joined:

FillingStyle  (4)

Fill with blue "stems":

Fill with dashed magenta "stems":

Fill with red below the axis, and with blue above:

Filling is solid when Joined->True:

Frame  (3)

Draw a frame around the plot:

Draw a frame on the left and right edges:

Draw a frame on the left and bottom edges:

FrameLabel  (4)

Place a label along the bottom frame of a plot:

Frame labels are placed on the bottom and left frame edges by default:

Place labels on each of the edges in the frame:

Use a customized style for both labels & frame tick labels:

FrameStyle  (2)

Specify the style of the frame:

Specify the style for each frame edge:

FrameTicks  (9)

Frame ticks are placed automatically by default:

Use a frame with no ticks:

Use frame ticks on the bottom edge:

By default, the top and right edges have tick marks but no tick labels:

Use All to include tick labels on all edges:

Place tick marks at specific positions:

Draw frame tick marks at specified positions with specific labels:

Specify the lengths for tick marks as a fraction of the graphics size:

Use different sizes in the positive and negative directions for each tick mark:

Specify a style for each frame tick:

Construct a function that places ticks at the midpoint and extremes of the frame edge:

FrameTicksStyle  (3)

By default, the frame ticks and frame tick labels use the same styles as the frame:

Specify an overall style for the ticks, including the labels:

Use different style for the different frame edges:

ImageSize  (1)

The number of points that are labeled directly may depend on the image size:

Smaller graphics will have fewer labeled points:

Larger graphics will have more labeled points:

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 0 to 5:

IntervalMarkers  (3)

By default, uncertainties are capped:

Use bars to denote uncertainties without caps:

Use bands to represent uncertainties:

IntervalMarkersStyle  (2)

Uncertainties automatically inherit the plot style:

Specify the style for uncertainties:

Joined  (4)

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:

The type of filling depends on whether the set is joined:

LabelingFunction  (6)

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 callouts to label the points:

Label the points with their values:

Label the points with their indices:

LabelingSize  (4)

Textual labels are shown at their actual sizes:

Image labels are automatically resized:

Specify a maximum size for textual labels:

Specify a maximum size for image labels:

Show image labels at their natural sizes:

MaxPlotPoints  (1)

Mesh  (6)

Mesh requires at least one dataset to be Joined:

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 requires at least one dataset to be Joined:

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 requires at least one dataset to be Joined:

Alternate red and blue segments of equal width 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:

MultiaxisArrangement  (5)

By default, all items in a plot share the same scale:

Use different axes for the different items:

Any number of axes can be used:

Have the first and second curves share an axis:

Specify where the axes should be placed:

Place shared axes as well:

PlotHighlighting  (9)

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 set:

Move the mouse over a set of points to highlight it using arbitrary graphics directives:

Move the mouse over the points to highlight them with balls and labels:

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

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 in the plot:

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

Highlight a particular set of points at a fixed value:

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:

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

Specify the style for the points:

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

Use Callout options to change the appearance of the label:

Combine components to create a custom effect:

PlotLabel  (1)

Add an overall label to the plot:

PlotLabels  (6)

Specify text to label sets of points:

Place the labels above the points:

Use callouts to identify the points:

Use the keys from an Association as labels:

Use None to not add a label:

Label multiple curves with {x,y} pair values:

PlotLayout  (3)

By default, curves are overlaid on each other:

Plot the data in a stacked layout:

Plot the data as percentiles of the total of the values:

Place each curve in a separate panel using shared axes:

Use rows instead of columns:

Use multiple columns or rows:

Prefer full columns or rows:

Label the individual panels:

PlotLegends  (7)

No legend is used, by default:

Generate a legend using labels:

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:

Use PointLegend to change the legend appearance:

PlotMarkers  (8)

ListPlot 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:

MeshStyle by default uses the same style as PlotStyle:

PlotTheme  (2)

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

Change the color scheme:

ScalingFunctions  (9)

By default, plots have linear scales in each direction:

Use a log scale in the direction:

Use a linear scale in the direction that shows smaller numbers at the top:

Use a reciprocal scale in the direction:

Use different scales in the and directions:

Reverse the axis without changing the axis:

Use a scale defined by a function and its inverse:

Positions in Ticks and GridLines are automatically scaled:

PlotRange and AxesOrigin are automatically scaled:

TargetUnits  (2)

Automatically detect units:

Specify alternate units:

Applications  (9)

Compare the n^(th) prime to an estimate:

Show the evaluation points in the order used by a numerical function:

Show both evaluation points and value used by a numerical function:

Plot life expectancy against birth rates for all the countries:

Show the linear relationship between enthalpy of vaporization and boiling point:

Plot a discrete-time signal and its spectrum:

Plot the probability mass function for a distribution:

Plot the empirical probability mass function:

Plot a solution sequence to a difference equation:

Plot randomly sampled properties:

Plot uncertainties in the mass and radius of exoplanets:

Properties & Relations  (14)

By default pairs are interpreted as values:

Interpret the data as multiple datai:

ListLinePlot is a special case of ListPlot:

Use Plot for functions:

Use ListLogPlot, ListLogLogPlot, and ListLogLinearPlot for logarithmic plots:

Use ListPolarPlot for polar plots:

Use DateListPlot to show data over time:

Use ComplexListPlot to plot complex numbers using their real and imaginary parts:

Use ListPointPlot3D to show three-dimensional points:

Use ListLinePlot3D to plot curves through lists of points:

Plot curves through rows of heights in a table:

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 ParametricPlot for parametric curves:

Wolfram Research (1988), ListPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ListPlot.html (updated 2023).

Text

Wolfram Research (1988), ListPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ListPlot.html (updated 2023).

CMS

Wolfram Language. 1988. "ListPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/ListPlot.html.

APA

Wolfram Language. (1988). ListPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListPlot.html

BibTeX

@misc{reference.wolfram_2024_listplot, author="Wolfram Research", title="{ListPlot}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/ListPlot.html}", note=[Accessed: 12-October-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_listplot, organization={Wolfram Research}, title={ListPlot}, year={2023}, url={https://reference.wolfram.com/language/ref/ListPlot.html}, note=[Accessed: 12-October-2024 ]}