({{, (RefLink[ListPlot, paclet:ref/ListPlot])[{(Subscript[y, 1]),(Subscript[y, 2]),…}]
plots points {1,(Subscript[y, 1])},{2,(Subscript[y, 2])},…. }, {, (RefLink[ListPlot, paclet:ref/ListPlot])[{{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])},…}]
plots a list of points with specified x and y coordinates. }, {, (RefLink[ListPlot, paclet:ref/ListPlot])[{(Subscript[data, 1]),(Subscript[data, 2]),…}]
plots data from all the (Subscript[data, i]).}, {, (RefLink[ListPlot, paclet:ref/ListPlot])[{…,w[(Subscript[data, i]),…],…}]
plots (Subscript[data, i]) with features defined by the symbolic wrapper w. }})

OpenersNotesSection(Spacer1)Details and Options

Data values (Subscript[x, i]) and (Subscript[y, i]) can be given in the following forms:

Values (Subscript[x, i]) and (Subscript[y, i]) that are not of the form above are taken to be missing and are not shown.

The (Subscript[data, i]) have the following forms and interpretations:

The following wrappers w can be used for the (Subscript[data, i]):

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[ListPlot, paclet:ref/ListPlot]) has the same options as (RefLink[Graphics, paclet:ref/Graphics]), with the following additions and changes:

(RefLink[DataRange, paclet:ref/DataRange]) determines how values {(Subscript[y, 1]),…,(Subscript[y, n])} are interpreted into {{(Subscript[x, 1]),(Subscript[y, 1])},…,{(Subscript[x, n]),(Subscript[y, n])}}. Possible settings include:

In general a list of pairs {{(Subscript[x, 1]),(Subscript[y, 1])},{(Subscript[x, 2]),(Subscript[y, 2])},…} is interpreted as a list of points, but the setting (RefLink[DataRange, paclet:ref/DataRange])->(RefLink[All, paclet:ref/All]) forces it to be interpreted as multiple (Subscript[data, i]) {{(Subscript[y, 11]),(Subscript[y, 12])},{(Subscript[y, 21]),(Subscript[y, 23])},…}.  »

(RefLink[LabelingFunction, paclet:ref/LabelingFunction])->f specifies that each point should have a label given by f[value,index,lbls], where value is the value associated with the point, index is its position in the data, and lbls is the list of relevant labels.

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

(RefLink[ScalingFunctions, paclet:ref/ScalingFunctions])->"scale" scales the y coordinate; (RefLink[ScalingFunctions, paclet:ref/ScalingFunctions])->{"scalex","scaley"} scales both the x and y coordinates.

OpenersPrimaryExamplesSection(Spacer1)Examples  (202)

OpenersExampleSection0(Spacer1)Basic Examples  (7)

Plot a list of y values:

ListPlot[Prime[Range[25]]]

Plot a list of x, y pairs:

ListPlot[Table[{Sin[n],Sin[2n]},{n,50}]]

Plot several (Subscript[data, i]) with a legend:

ListPlot[Table[{k,PDF[BinomialDistribution[50,p],k]},{p,{0.3,0.5,0.8}},{k,0,50}],Filling->Axis,PlotLegends->{0.3,0.5,0.8}]

Label each point:

ListPlot[Labeled[#,#]&/@Table[Prime[n],{n,10}],PlotStyle->PointSize[Medium]]

Label each (Subscript[data, i]):

ListPlot[{Labeled[Sqrt[Range[40]],"sqrt"],Labeled[Log[Range[40,80]],"log"]}]

Plot values including units:

ListPlot[Quantity[{0,3,6,8,10,11,11,16,20,22},"Centimeters"],AxesLabel->Automatic]

Use individual colors for each point:

ListPlot[Table[Style[{Cos[t],Sin[2t]},Hue[t/(2Pi)]],{t,0,2Pi,Pi/20}],PlotStyle->PointSize[Medium]]

OpenersExampleSection1(Spacer1)Scope  (52)

OpenersExampleSubsection0(Spacer1)Data  (11)

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

ListPlot[Sqrt[Range[40]]]

Provide an explicit x data range by using (RefLink[DataRange, paclet:ref/DataRange]):

ListPlot[Sqrt[Range[40]],DataRange->{0,1}]

Plot multiple sets of regular data:

ListPlot[{Sqrt[Range[40]],Log[Range[40,80]]}]

Include units with the data:

ListPlot[Quantity[Sqrt[Range[10]],"Meters"]]

For irregular data consisting of {x,y} value pairs, the x data range is inferred from data:

data=Last[Reap[NIntegrate[Sin[x]^2,{x,0,2Pi},EvaluationMonitor:>Sow[{x,Sin[x]^2}]]]];

ListPlot[data]

Plot multiple sets of irregular data:

data1=Table[{x,Sin[x]},{x,RandomReal[2Pi,50]}];
data2=Table[{x,Cos[x]},{x,RandomReal[2Pi,250]}];

ListPlot[{data1,data2}]

Plot multiple sets of data, regular or irregular, using (RefLink[DataRange, paclet:ref/DataRange]) to map them to the same x range:

data1=Table[Sin[x],{x,0,2Pi,0.1}];
data2=Table[{x,Cos[x]},{x,RandomReal[2Pi,100]}];

ListPlot[{data1,data2},DataRange->{0,2Pi}]

Ranges where the data is nonreal are excluded:

ListPlot[{1,1+I,3,None,5,6,Missing["NotAvailable"],8,9}]

ListPlot[Sqrt[Sin[Range[0,3Pi,0.1]]]]

Use (RefLink[MaxPlotPoints, paclet:ref/MaxPlotPoints]) to limit the number of points used:

Table[ListPlot[Table[Sin[2Pi n/10],{n,100}],MaxPlotPoints->mp,Joined->True],{mp,{Infinity,50,30}}]

(RefLink[PlotRange, paclet:ref/PlotRange]) is selected automatically:

{ListPlot[{2^Range[15],Fibonacci[Range[15]]}],ListPlot[{2^Range[15],Fibonacci[Range[15]]},PlotRange->All]}

{ListPlot[{0,1,2,3,100,5,6,7}],ListPlot[{0,1,2,3,100,5,6,7},PlotRange->All]}

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

{ListPlot[Table[x^4-x^2+1,{x,-2,2,0.1}]],ListPlot[Table[x^4-x^2+1,{x,-2,2,0.1}],PlotRange->{0,2}]}

Use (RefLink[ScalingFunctions, paclet:ref/ScalingFunctions]) to scale the axes:

ListPlot[Factorial[Range[20]],ScalingFunctions->"Log"]

OpenersExampleSubsection1(Spacer1)Special Data  (9)

Use (RefLink[Quantity, paclet:ref/Quantity]) to include units with the data:

ListPlot[Quantity[Sqrt[Range[10]],"Meters"],AxesLabel->Automatic]

Include different units for the x and y coordinates:

data=EntityValue[(EntityClass["elements", EntityClass["Element",All], "EntityClass[\"Element\", All]", "elements"]),{"AtomicMass","MeltingPoint"}];

ListPlot[data,AxesLabel->Automatic]

Plot data in a (RefLink[QuantityArray, paclet:ref/QuantityArray]):

data=QuantityArray[EntityValue[(EntityClass["elements", EntityClass["Element",All], "EntityClass[\"Element\", All]", "elements"]),{"AtomicMass","MeltingPoint"}]]

ListPlot[data,AxesLabel->Automatic]

Specify the units used with (RefLink[TargetUnits, paclet:ref/TargetUnits]):

ListPlot[data,TargetUnits->{Automatic,"Kelvin"},AxesLabel->Automatic]

Plot data with uncertainty:

ListPlot[Table[Around[RandomReal[5],RandomReal[0.5]],20]]

Use intervals:

ListPlot[Table[Interval[RandomReal[5]+{-0.5,0.5}],20]]

Specify strings to use as labels:

ListPlot[{2->"a",3->"b",5->"c",7->"d",11->"e",13->"f",17->"g"}]

ListPlot[{2,3,5,7,11,13,17}->{"a","b","c","d","e","f","g"}]

Specify a location for labels:

ListPlot[{2,3,5,7,11,13,17}->{"a","b","c","d","e","f","g"},LabelingFunction->Above]

Numeric values in an (RefLink[Association, paclet:ref/Association]) are used as the y coordinates:

ListPlot[<|"a"->2,"b"->3,"c"->5,"d"->7,"e"->11,"f"->13|>]

Numeric keys and values in an (RefLink[Association, paclet:ref/Association]) are used as the x and y coordinates:

ListPlot[<|2->1,3->2,5->3,7->4,11->5,13->6|>]

Plot (RefLink[TimeSeries, paclet:ref/TimeSeries]) directly:

data=CountryData["UnitedStates",{{"Population"},{1988,2013}}]

ListPlot[data,AxesLabel->Automatic]

Plot data in a (RefLink[SparseArray, paclet:ref/SparseArray]):

ListPlot[SparseArray[Table[Prime[i]->1,{i,25}]]]

The weights in (RefLink[WeightedData, paclet:ref/WeightedData]) are ignored:

ListPlot[WeightedData[{2,3,5,7,11,13,17,19,23,29},{1,2,3,4,5,6,7,8,9,10}]]

OpenersExampleSubsection2(Spacer1)Wrappers  (6)

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

{ListPlot[{{1,Style[2,Red],3},{4,5,6}},PlotStyle->PointSize[0.05]],ListPlot[{Style[{1,2,3},Green],{4,5,6}},PlotStyle->PointSize[0.05]],ListPlot[Style[{{1,2,3},{4,5,6}},Blue],PlotStyle->PointSize[0.05]]}

Wrappers can be nested:

{ListPlot[{{1,Style[2,Red],3},{4,5,6}},PlotStyle->PointSize[0.05]],ListPlot[{Style[{1,Style[2,Red],3},Green],{4,5,6}},PlotStyle->PointSize[0.05]],ListPlot[Style[{Style[{1,Style[2,Red],3},Green],{4,5,6}},Blue],PlotStyle->PointSize[0.05]]}

Use the value of each point as a tooltip:

ListPlot[Tooltip[Prime[Range[100]]]]

Use a specific label for all the points:

ListPlot[Tooltip[Prime[Range[100]],"primes"]]

Labels points with automatically positioned text:

ListPlot[Table[Labeled[RandomReal[1,2],i],{i,20}],PlotStyle->PointSize[Medium],ImageSize->300]

Use (RefLink[PopupWindow, paclet:ref/PopupWindow]) to provide additional drilldown information:

ListPlot[{1,PopupWindow[2,DateListPlot[FinancialData["IBM","Jan. 1, 2004"]]],3},PlotStyle->PointSize[0.05]]

(RefLink[Button, paclet:ref/Button]) can be used to trigger any action:

ListPlot[{1,Button[2,Speak[2]],3},PlotStyle->PointSize[0.05]]

OpenersExampleSubsection3(Spacer1)Labeling and Legending  (13)

Label points with automatically positioned text:

ListPlot[Table[Labeled[RandomReal[1,2],i],{i,20}]]

Place the labels relative to the points:

Table[ListPlot[Table[Labeled[RandomReal[1,2],i,p],{i,5}],PlotLabel->p],{p,{Above,Below,Before,After}}]

Label data with (RefLink[Labeled, paclet:ref/Labeled]):

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Sin[x],Sin[2x]}}];

ListPlot[MapThread[Labeled[#1,#2]&,{data,{Sin[x],Sin[2x]}}]]

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

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Sin[x],Sin[2x]}}];

ListPlot[data,PlotLabels->{Sin[x],Sin[2x]}]

Place the label near the points at a x value:

ListPlot[Labeled[Table[{x,Sin[x]},{x,0,2Pi,0.1}],"sin(x)",3]]

Use a scaled position:

ListPlot[Labeled[Table[{x,Sin[x]},{x,0,2Pi,0.1}],"sin(x)",Scaled[0.25]]]

Specify the text position relative to the point:

ListPlot[Labeled[Table[{x,Sin[x]},{x,0,2Pi,0.1}],Sin[x],{Scaled[0.25],Above}]]

Label data automatically with (RefLink[Callout, paclet:ref/Callout]):

ListPlot[{Callout[Table[PartitionsQ[n],{n,18}],PartitionsQ[n]],Callout[Table[n,{n,18}],n]}]

Place a label with a specific location:

ListPlot[Callout[Table[n^Sin[n],{n,1,10,0.25}],"label",Above]]

ListPlot[Callout[Table[n^Sin[n],{n,1,10,0.25}],"label",5]]

Specify label names with (RefLink[LabelingFunction, paclet:ref/LabelingFunction]):

ListPlot[Prime[Range[10]],LabelingFunction->(#1 &)]

Specify the maximum size of labels:

data=Table[Labeled[Prime[i],RandomWord[]],{i,10}];

ListPlot[data,LabelingSize->30]

Use the full label:

ListPlot[data,LabelingSize->Full]

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

data=Table[Callout[RandomReal[1,2],i],{i,100}];

ListPlot[data]

Increasing the size of the plot will show more labels:

ListPlot[data,ImageSize->400]

Include legends for each curve:

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Sin[x],Sin[2x]}}];

ListPlot[data,PlotLegends->{Sin[x],Sin[2x]}]

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

upper=RandomReal[{1.5,2},50];
lower=RandomReal[0.5,50];

ListPlot[{lower,Legended[Mean[{lower,upper}],"average"],upper}]

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

ListPlot[{lower,Legended[Mean[{lower,upper}],Placed["average",Below]],upper}]

Use association keys as labels:

ListPlot[<|"fibonacci"->Fibonacci[Range[10]],"primes"->Prime[Range[10]]|>,PlotLabels->Automatic,PlotLegends->None]

OpenersExampleSubsection4(Spacer1)Presentation  (13)

Multiple datasets are automatically colored to be distinct:

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Sin[x],Sin[2x]}}];

ListPlot[data]

Provide explicit styling to different sets:

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Sin[x],Sin[2x]}}];

ListPlot[data,PlotStyle->{Blue,Red}]

Use a plot theme:

ListPlot[Table[{Sin[3t+Pi/2],Sin[t]},{t,0,2Pi,.05}],PlotTheme->"Marketing",AspectRatio->1]

Include legends for each curve:

data=Table[Table[{x,f},{x,0,2Pi,0.1}],{f,{Sin[x],Sin[2x]}}];

ListPlot[data,PlotLegends->{Sin[x],Sin[2x]}]

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

upper=RandomReal[{1.5,2},50];
lower=RandomReal[0.5,50];

ListPlot[{lower,Legended[Mean[{lower,upper}],"average"],upper}]

Add labels:

ListPlot[Table[{k,Binomial[15,k]},{k,0,15}],AxesLabel->{k,None},PlotLabel->Binomial[15,k],PlotStyle->Directive[PointSize[Medium],Purple]]

Provide an interactive (RefLink[Tooltip, paclet:ref/Tooltip]) for the data:

ListPlot[Tooltip[Table[If[PrimeQ[x],Tooltip[x,Row[{"prime: ",x}]],x],{x,1,25}]],PlotStyle->Directive[PointSize[Medium],Orange]]

ListPlot[{Tooltip[(3/2)^Range[15],TraditionalForm[(3/2)^k]],Tooltip[Fibonacci[Range[15]],TraditionalForm[Fibonacci[k]]]},PlotStyle->PointSize[Medium]]

Create filled plots:

ListPlot[{Table[Sin[x],{x,0,2Pi,0.1}],Table[Sinc[x],{x,0,2Pi,0.1}]},Filling->{1->{2}},FillingStyle->{Red,Blue}]

Use shapes to distinguish different datasets:

ListPlot[{{1,2,3,5,8},{2,3,6,9,10},{4,5,7,10,12}},PlotMarkers->Automatic]

Use labels to distinguish different datasets:

ListPlot[{{1,2,3,5,8},{2,3,6,9,10},{4,5,7,10,12}},PlotMarkers->{"1","2","3"}]

Use (RefLink[Joined, paclet:ref/Joined]) to connect datasets with lines:

ListPlot[{1,2,4,7,3,5,8,10,9},Joined->True,PlotStyle->Orange]

Use (RefLink[InterpolationOrder, paclet:ref/InterpolationOrder]) to smooth joined data:

Table[ListPlot[{1,2,4,7,3,5,8,10,9},Joined->True,InterpolationOrder->io,PlotStyle->Dashed],{io,{0,1,2,3}}]

Plot the data in a stacked layout:

data={{10,9,4,3,5,3,5,5,2,6},{2,10,5,6,9,4,9,3,7,2},{7,8,3,4,4,2,6,3,8,7}};

ListPlot[data,PlotLayout->"Stacked",Joined->True]

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

ListPlot[data,PlotLayout->"Percentile",Joined->True]

OpenersExampleSection2(Spacer1)Options  (121)

OpenersExampleSubsection5(Spacer1)AspectRatio  (2)

Choose the ratio of height to width from the actual plot values:

ListPlot[Table[DigitCount[n!,10,1],{n,200}],AspectRatio->Automatic]

Set the ratio to 1:

ListPlot[Table[DigitCount[n!,10,1],{n,200}],AspectRatio->1]

OpenersExampleSubsection6(Spacer1)AxesLabel  (1)

Specify labels for the x and y axes:

ListPlot[Table[Prime[n],{n,30}],AxesLabel->{n,(Subscript[ℙ, n])}]

OpenersExampleSubsection7(Spacer1)AxesOrigin  (1)

The locations of the axes are determined automatically:

ListPlot[Table[{i,(i-10)^3+10^4},{i,-15,35}]]

Specify where the axes cross:

ListPlot[Table[{i,(i-10)^3+10^4},{i,-15,35}],AxesOrigin->{10,10^4}]

OpenersExampleSubsection8(Spacer1)ClippingStyle  (6)

(RefLink[ClippingStyle, paclet:ref/ClippingStyle]) requires at least one dataset to be (RefLink[Joined, paclet:ref/Joined]):

{ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],ClippingStyle->Red],ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],ClippingStyle->Red,Joined->True]}//Quiet

Omit clipped regions of the plot:

ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],Joined->True,Joined->True,ClippingStyle->None]//Quiet

Show clipped regions like the rest of the curve:

ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],Joined->True,ClippingStyle->Automatic,PlotStyle->Thick]//Quiet

Show clipped regions with red lines:

ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],Joined->True,ClippingStyle->Red]//Quiet

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

ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],Joined->True,ClippingStyle->{Red,Thick}]//Quiet

Show clipped regions as red and thick:

ListPlot[Table[{x,Sin[x]/x^2},{x,-10,10,0.2}],Joined->True,ClippingStyle->Directive[Red,Thick]]//Quiet

OpenersExampleSubsection9(Spacer1)ColorFunction  (5)

Color by scaled x and y coordinates:

Table[ListPlot[Sinc[Range[0,10,0.1]],Joined->True,ColorFunction->Function[{x,y},f],PlotLabel->f,PlotStyle->Thick],{f,{Hue[x],Hue[y]}}]

Color with a named color scheme:

ListPlot[Sinc[Range[0,10,0.1]],Joined->True,ColorFunction->"DarkRainbow"]

Fill with the color used for the curve:

ListPlot[Sinc[Range[0,10,0.1]],Joined->True,ColorFunction->Function[{x,y},Hue[x]],Filling->Axis]

ListPlot[Array[Prime,100],Joined->True,ColorFunction->Function[{x,y},Blend[{Yellow,Red},x]],Filling->Axis]

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

ListPlot[Sinc[Range[0,10,0.1]],Joined->True,ColorFunction->"DarkRainbow",PlotStyle->Directive[Red,Thick]]

Use (RefLink[Automatic, paclet:ref/Automatic]) in (RefLink[MeshShading, paclet:ref/MeshShading]) to use (RefLink[ColorFunction, paclet:ref/ColorFunction]):

ListPlot[Sin[Range[0,10,0.1]],Joined->True,ColorFunction->"Rainbow",PlotStyle->Directive[Red,Thick],Mesh->10,MeshShading->{Automatic,Black},MeshStyle->None]

OpenersExampleSubsection10(Spacer1)ColorFunctionScaling  (3)

(RefLink[ColorFunctionScaling, paclet:ref/ColorFunctionScaling]) requires at least one dataset to be (RefLink[Joined, paclet:ref/Joined]):

{ListPlot[Range[10],ColorFunction->"Rainbow",ColorFunctionScaling->True],ListPlot[Range[10],Joined->True,ColorFunction->"Rainbow",ColorFunctionScaling->True]}

Color the line based on the scaled y value:

ListPlot[Table[x^2Exp[-x^2],{x,-5,5,0.1}],Joined->True,ColorFunction->Function[{x,y},Hue[y]],PlotStyle->Thick,ColorFunctionScaling->True]

Color the line based on the unscaled y value:

ListPlot[Table[x^2Exp[-x^2],{x,-5,5,0.1}],Joined->True,ColorFunction->Function[{x,y},Hue[y]],PlotStyle->Thick,ColorFunctionScaling->False]

OpenersExampleSubsection11(Spacer1)DataRange  (5)

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

ListPlot[Table[Sin[x],{x,0,2Pi,0.1}]]

Rescale to the sampling space:

ListPlot[Table[Sin[x],{x,0,2Pi,0.1}],DataRange->{0,2Pi}]

Each dataset is scaled to the same domain:

ListPlot[{Sqrt[Range[1,20]],Log[Range[10,40]]},DataRange->{1,5}]

Pairs are interpreted as x, y coordinates:

ListPlot[Table[{i+10,i},{i,25}],AxesOrigin->{0,0}]

Specifying (RefLink[DataRange, paclet:ref/DataRange]) in this case has no effect, since x values are part of the data:

ListPlot[Table[{i+10,i},{i,25}],AxesOrigin->{0,0},DataRange->{0,1}]

Force interpretation as multiple datasets:

ListPlot[{{1,1},{2,2},{3,3}},DataRange->All,AxesOrigin->{0,0},Joined->True]

OpenersExampleSubsection12(Spacer1)Filling  (8)

Use symbolic or explicit values for "stem" filling:

Table[ListPlot[Table[Prime[n],{n,30}],Filling->c],{c,{Top,Bottom,Axis,Prime[15]}}]

Fill between corresponding points in two datasets:

ListPlot[{Range[20],Table[Prime[n],{n,20}]},Filling->{1->{2}}]

Fill between datasets using a particular style:

ListPlot[{Range[20],Table[Prime[n],{n,20}]},Filling->{1->{{2},Directive[Orange,Dashed]}}]

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

data1=Sqrt[Range[40]]-2;
data2=Log[Range[40]];

ListPlot[{data1,data2},Filling->{1->{{2},{Red,Blue}}}]

Fill to the axis for irregularly sampled data:

data=Last[Reap[Plot[Sin[x],{x,0,2Pi},EvaluationMonitor:>Sow[{x,Sin[x]}]]]];

ListPlot[data,Filling->Axis]

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

data1=First@Last[Reap[Plot[Sin[x],{x,0,2Pi},EvaluationMonitor:>Sow[{x,Sin[x]}]]]];
data2=First@Last[Reap[Plot[Cos[x],{x,0,2Pi},EvaluationMonitor:>Sow[{x,Cos[x]}]]]];

ListPlot[{Sort@data1,Sort@data2},Filling->{1->{2}}]

(RefLink[Joined, paclet:ref/Joined]) datasets fill with solid areas:

ListPlot[{Range[20],Table[{n+1/2,Prime[n]},{n,20}]},Filling->{1->{2}},Joined->True]

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

Table[ListPlot[{Range[20],Range[20]/2},Joined->{True,False},Filling->f,PlotLabel->f],{f,{1->{2},2->{1}}}]

OpenersExampleSubsection13(Spacer1)FillingStyle  (4)

Fill with blue "stems":

ListPlot[Table[Prime[n],{n,20}],Filling->Axis,FillingStyle->Blue]

Fill with dashed magenta "stems":

ListPlot[Table[Prime[n],{n,20}],Filling->Axis,FillingStyle->Directive[Magenta,Dashed]]

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

ListPlot[Table[{x,Sin[x]},{x,0,2Pi,0.2}],Filling->Axis,FillingStyle->{Red,Blue}]

Filling is solid when (RefLink[Joined, paclet:ref/Joined])->(RefLink[True, paclet:ref/True]):

ListPlot[Table[{x,Sin[x]},{x,0,2Pi,0.2}],Filling->Axis,Joined->True]

OpenersExampleSubsection14(Spacer1)ImageSize  (1)

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

data=RandomReal[10,{100,2}]->Range[100];

ListPlot[data]

Smaller graphics will have fewer labeled points:

ListPlot[data,ImageSize->200]

Larger graphics will have more labeled points:

ListPlot[data,ImageSize->500]

OpenersExampleSubsection15(Spacer1)InterpolationOrder  (5)

(RefLink[Joined, paclet:ref/Joined]) lines can be interpolated:

ListPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->2]

By default, linear interpolation is used:

ListPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->None,Mesh->Full]

Use zero-order or piecewise-constant interpolation:

ListPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->0,Mesh->Full]

Use third-order spline interpolation:

ListPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->3,Mesh->Full]

Interpolation order 0 to 5:

Table[ListPlot[{{1,4,2,3,10,8,2}},Joined->True,InterpolationOrder->i,Mesh->Full,PlotLabel->i],{i,0,5}]

OpenersExampleSubsection16(Spacer1)IntervalMarkers  (3)

By default, uncertainties are capped:

ListPlot[Table[Around[RandomReal[],RandomReal[.1]],10]]

Use bars to denote uncertainties without caps:

ListPlot[Table[Around[RandomReal[],RandomReal[.1]],10],IntervalMarkers->"Bars"]

Use bands to represent uncertainties:

ListPlot[Table[Around[RandomReal[],RandomReal[.1]],10],IntervalMarkers->"Bands"]

OpenersExampleSubsection17(Spacer1)IntervalMarkersStyle  (2)

Uncertainties automatically inherit the plot style:

ListPlot[{Table[Around[RandomReal[20],1],10],Table[Around[RandomReal[20],1],10]},PlotStyle->{Red,Blue}]

Specify the style for uncertainties:

ListPlot[{Table[Around[RandomReal[20],1],10],Table[Around[RandomReal[20],1],10]},IntervalMarkersStyle->Gray]

OpenersExampleSubsection18(Spacer1)Joined  (4)

Join the dataset with a line:

ListPlot[Table[Prime[n],{n,20}],Joined->True]

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

ListPlot[{Range[20],Table[Prime[n],{n,20}]},Joined->{True,False}]

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

ListPlot[Table[Prime[n],{n,20}],Joined->True,Mesh->All]

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

Table[ListPlot[{Range[20],Range[20]/2},Joined->{True,False},Filling->f,PlotLabel->f],{f,{1->{2},2->{1}}}]

OpenersExampleSubsection19(Spacer1)LabelingFunction  (6)

By default, points are automatically labeled with strings:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"}]

Use (RefLink[LabelingFunction, paclet:ref/LabelingFunction])->(RefLink[None, paclet:ref/None]) to suppress the labels:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->None]

Put the labels above the points:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->Above]

Put them in a tooltip:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->Tooltip]

Use callouts to label the points:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->Callout[Automatic,Automatic]]

Label the points with their values:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->(#1&)]

Label the points with their indices:

ListPlot[{1,1,2,3,5,8}->{"a","b","c","d","e","f"},LabelingFunction->(#2&)]

OpenersExampleSubsection20(Spacer1)LabelingSize  (4)

Textual labels are shown at their actual sizes:

ListPlot[{1,1,2,3,5,8}->{"healthfulness","obstreperous","spectrogram","vestige","coinage","limey"},ImageSize->Medium]

Image labels are automatically resized:

ListPlot[{1,1,2,3,5,8}->{,,,,,},ImageSize->Medium]

Specify a maximum size for textual labels:

ListPlot[{1,1,2,3,5,8}->{"healthfulness","obstreperous","spectrogram","vestige","coinage","limey"},ImageSize->Medium,LabelingSize->30]

Specify a maximum size for image labels:

ListPlot[{1,1,2,3,5,8}->{,,,,,},ImageSize->Medium,LabelingSize->20]

Show image labels at their natural sizes:

ListPlot[{1,1,2,3,5,8}->{,,,,,},ImageSize->Medium,LabelingSize->Full]

OpenersExampleSubsection21(Spacer1)MaxPlotPoints  (1)

Table[ListPlot[Table[{n,Sin[2Pi n/10]},{n,100.}],MaxPlotPoints->mp,Joined->True],{mp,{Infinity,50,30}}]

Table[ListPlot[Table[{Sqrt[n]Cos[n/5],Sqrt[n]Sin[n/5]},{n,100.}],MaxPlotPoints->mp,Joined->True],{mp,{Infinity,50,30}}]

OpenersExampleSubsection22(Spacer1)Mesh  (6)

(RefLink[Mesh, paclet:ref/Mesh]) requires at least one dataset to be (RefLink[Joined, paclet:ref/Joined]):

{ListPlot[Table[Sin[x],{x,8}],Mesh->10],ListPlot[Table[Sin[x],{x,8}],Mesh->10,Joined->True]}

The initial and final sampling meshes are typically the same:

{ListPlot[Table[Sin[x],{x,8}],Mesh->Full,Joined->True],ListPlot[Table[Sin[x],{x,8}],Mesh->All,Joined->True]}

Interpolated data may introduce points:

{ListPlot[Table[Sin[x],{x,8}],Mesh->Full,InterpolationOrder->2,Joined->True],ListPlot[Table[Sin[x],{x,8}],Mesh->All,InterpolationOrder->2,Joined->True]}

Use 20 mesh levels evenly spaced in the x direction:

ListPlot[Table[Sin[x],{x,8}],Mesh->20,Joined->True]

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

ListPlot[Table[{x,Sin[x]},{x,0,2Pi,0.1}],Mesh->{Range[0,2Pi,Pi/4]},MeshStyle->PointSize[Medium],Joined->True]

Use explicit styles at specific points:

ListPlot[Table[{x,Sin[x]},{x,0,2Pi,2Pi/20}],Mesh->{Table[{x,Directive[Hue[x/(2Pi)],PointSize[Medium]]},{x,0.,2Pi,2Pi/8}]},Joined->True]

OpenersExampleSubsection23(Spacer1)MeshFunctions  (3)

(RefLink[MeshFunctions, paclet:ref/MeshFunctions]) requires at least one dataset to be (RefLink[Joined, paclet:ref/Joined]):

{ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,MeshFunctions->{#1&}],ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,MeshFunctions->{#1&},Joined->True]}

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

Table[ListPlot[Table[Binomial[15,k],{k,0,15}],MeshFunctions->{Function[{x,y},Evaluate[f]]},Mesh->9,PlotLabel->f,Joined->True],{f,{x,y}}]

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

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->{5,10},MeshFunctions->{#1&,#2&},MeshStyle->{Directive[PointSize[Medium],Red],Blue},Joined->True]

OpenersExampleSubsection24(Spacer1)MeshShading  (7)

(RefLink[MeshShading, paclet:ref/MeshShading]) requires at least one dataset to be (RefLink[Joined, paclet:ref/Joined]):

{ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,MeshShading->{Red,Blue}],ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,MeshShading->{Red,Blue},Joined->True]}

Alternate red and blue segments of equal width in the x direction:

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,MeshFunctions->{#1&},MeshShading->{Red,Blue},Joined->True]

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

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,MeshFunctions->{#1&},MeshShading->{Red,None},Joined->True]

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

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,PlotStyle->Thick,MeshFunctions->{#1&},MeshShading->{Red,Blue},Joined->True]

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

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,PlotStyle->Black,MeshFunctions->{#1&},MeshShading->{Red,Blue},Joined->True]

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

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,PlotStyle->Directive[Thick,Yellow],MeshFunctions->{#1&},MeshShading->{Red,Automatic},Joined->True]

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

ListPlot[Table[Binomial[15,k],{k,0,15}],Mesh->10,PlotStyle->Thick,MeshFunctions->{#1&},MeshShading->{Black,Automatic},
ColorFunction->Function[{x,y},Hue[x]],Joined->True]

OpenersExampleSubsection25(Spacer1)PlotLabel  (1)

Add an overall label to the plot:

ListPlot[Prime[Range[100]],PlotLabel->"prime numbers"]

OpenersExampleSubsection26(Spacer1)PlotLabels  (5)

Specify text to label sets of points:

ListPlot[{Sin[Range[0,2Pi,0.1]],Cos[Range[0,2Pi,0.1]]},PlotLabels->{"sine","cosine"}]

Place the labels above the points:

ListPlot[{Sin[Range[0,2Pi,0.1]],Cos[Range[0,2Pi,0.1]]},PlotLabels->Placed[{"sine","cosine"},Above]]

Use callouts to identify the points:

ListPlot[{Sin[Range[0,2Pi,0.1]],Cos[Range[0,2Pi,0.1]]},PlotLabels->{Callout["sin",{Scaled[0.25],Above}],Callout["cos",{Scaled[0.5],Below}]}]

Use the keys from an (RefLink[Association, paclet:ref/Association]) as labels:

ListPlot[<|"sine"->Sin[Range[0,2Pi,0.1]],"cosine"->Cos[Range[0,2Pi,0.1]]|>,PlotLabels->Automatic,PlotLegends->None]

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

ListPlot[{Sin[Range[0,2Pi,0.1]],Cos[Range[0,2Pi,0.1]]},PlotLabels->{"sine",None}]

OpenersExampleSubsection27(Spacer1)PlotLayout  (1)

By default, curves are overlaid on each other:

data={{10,9,4,3,5,3,5,5,2,6},{2,10,5,6,9,4,9,3,7,2},{7,8,3,4,4,2,6,3,8,7}};

ListPlot[data,Joined->True]

Plot the data in a stacked layout:

ListPlot[data,PlotLayout->"Stacked",Joined->True]

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

ListPlot[data,PlotLayout->"Percentile",Joined->True]

Place each curve in a separate panel using shared axes:

ListPlot[data,PlotLayout->"Column",Joined->True,ImageSize->Medium]

Use rows instead of columns:

ListPlot[data,PlotLayout->"Row",Joined->True,ImageSize->Medium]

OpenersExampleSubsection28(Spacer1)PlotLegends  (7)

No legend is used, by default:

ListPlot[{Sqrt[Range[40]],Log[Range[40]]}]

Generate a legend using labels:

ListPlot[{Sqrt[Range[40]],Log[Range[40]]},PlotLegends->{"sqrt","log"}]

Generate a legend using placeholders:

ListPlot[{Sqrt[Range[40]],Log[Range[40]]},PlotLegends->Automatic]

Legends use the same styles as the plot:

ListPlot[{Sqrt[Range[40]],Log[Range[40]]},PlotStyle->{Red,Blue},PlotLegends->{"sqrt","log"}]

Use (RefLink[Placed, paclet:ref/Placed]) to specify the legend placement:

Table[ListPlot[{Sqrt[Range[40]],Log[Range[40]]},PlotLabel->pos,PlotLegends->Placed[{"sqrt","log"},pos]],{pos,{Above,Below,Before,After}}]

Place the legend inside the plot:

ListPlot[{Sqrt[Range[40]],Log[Range[40]]},PlotStyle->{Red,Blue},PlotLegends->Placed[{"sqrt","log"},{0.85,0.25}]]

Use (RefLink[PointLegend, paclet:ref/PointLegend]) to change the legend appearance:

ListPlot[{Sqrt[Range[40]],Log[Range[40]]},PlotStyle->{Red,Blue},PlotLegends->PointLegend[{"sqrt","log"},LegendMarkerSize->10,LegendFunction->Frame]]

OpenersExampleSubsection29(Spacer1)PlotMarkers  (8)

(RefLink[ListPlot, paclet:ref/ListPlot]) normally uses distinct colors to distinguish different sets of data:

ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->None]

Automatically use colors and shapes to distinguish sets of data:

ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->Automatic]

Use shapes only:

ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->Automatic,PlotStyle->Black]

Change the size of the default plot markers:

Table[ListPlot[Table[n^(1/p),{p,4},{n,5}],PlotMarkers->{Automatic,s}],{s,{Small,Medium}}]

ListPlot[Table[n^(1/p),{p,4},{n,5}],PlotMarkers->{Automatic,Large}]

Use arbitrary text for plot markers:

ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->{"1","2","3","4"}]

Use explicit graphics for plot markers:

{m1,m2,m3,m4}=Graphics/@{Circle[{0,0},1],Disk[{0,0},1],Line[{{-0.5,-0.5},{0.5,-0.5},{0.5,0.5},{-0.5,0.5},{-0.5,-0.5}}],Polygon[{{-0.5,-0.5},{0.5,-0.5},{0.5,0.5},{-0.5,0.5}}]}

ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->Table[{s,0.1},{s,{m1,m2,m3,m4}}]]

Use the same symbol for all the sets of data:

ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->"●"]

Explicitly use a symbol and size:

Table[ListPlot[Table[n^(1/p),{p,4},{n,10}],PlotMarkers->{"●",s}],{s,{4,8,12}}]

OpenersExampleSubsection30(Spacer1)PlotRange  (2)

(RefLink[PlotRange, paclet:ref/PlotRange]) is automatically calculated:

ListPlot[Table[i+100 KroneckerDelta[i-5]+50KroneckerDelta[i-10],{i,40}]]

Show the whole dataset:

ListPlot[Table[i+100 KroneckerDelta[i-5]+50KroneckerDelta[i-10],{i,40}],PlotRange->All]

OpenersExampleSubsection31(Spacer1)PlotStyle  (7)

Use different style directives:

Table[ListPlot[Table[Binomial[10,k],{k,0,10}],PlotStyle->ps],{ps,{Red,PointSize[Large],Darker[Green],Directive[Red,PointSize[Large]]}}]

By default, different styles are chosen for multiple datasets:

ListPlot[Table[Table[Sin[k x],{x,0,2Pi,0.1}],{k,{1,2,3}}]]

Explicitly specify the style for different datasets:

ListPlot[Table[Table[Sin[k x],{x,0,2Pi,0.1}],{k,{1,2,3}}],PlotStyle->{Red,Green,Blue}]

(RefLink[PlotStyle, paclet:ref/PlotStyle]) applies to both lines and points:

ListPlot[{{1,2,3,4,5},{4,2,1,2,4}},Joined->{True,False},PlotStyle->Red]

ListPlot[{{1,2,3,4,5},{4,2,1,2,4}},Joined->{True,False},PlotStyle->{Thick,PointSize[Large]}]

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

ListPlot[Table[Sin[x],{x,0,2Pi,0.1}],Joined->True,PlotStyle->Thick,ColorFunction->Function[{x,y},Hue[y]]]

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

ListLinePlot[Table[Sin[x],{x,0,2Pi,0.1}],Joined->True,PlotStyle->Directive[Opacity[0.5],Thick],Mesh->10,MeshFunctions->{#1&},MeshShading->{Red,Blue}]

(RefLink[MeshStyle, paclet:ref/MeshStyle]) by default uses the same style as (RefLink[PlotStyle, paclet:ref/PlotStyle]):

ListLinePlot[Table[Sin[x],{x,0,2Pi,0.1}],PlotStyle->Red,Mesh->All]

OpenersExampleSubsection32(Spacer1)PlotTheme  (2)

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

ListPlot[{Table[Sin[x],{x,0,2Pi,0.1}],Table[Cos[x],{x,0,2Pi,0.1}]},PlotTheme->"Business"]

Change the color scheme:

ListPlot[{Table[Sin[x],{x,0,2Pi,0.1}],Table[Cos[x],{x,0,2Pi,0.1}]},PlotTheme->"Business",PlotStyle->96]

OpenersExampleSubsection33(Spacer1)ScalingFunctions  (9)

By default, plots have linear scales in each direction:

ListPlot[{1,5,10,35,60,75,140}]

Use a log scale in the y direction:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->"Log"]

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

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->"Reverse"]

Use a reciprocal scale in the y direction:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->"Reciprocal"]

Use different scales in the x and y directions:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->{"Reverse","Log"}]

Reverse the x axis without changing the y axis:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->{"Reverse",None}]

Use a scale defined by a function and its inverse:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->{None,{-Log[#]&,Exp[-#]&}}]

Positions in (RefLink[Ticks, paclet:ref/Ticks]) and (RefLink[GridLines, paclet:ref/GridLines]) are automatically scaled:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->"Log",Ticks->{Automatic,2^Range[10]},GridLines->{None,2^Range[10]}]

(RefLink[PlotRange, paclet:ref/PlotRange]) and (RefLink[AxesOrigin, paclet:ref/AxesOrigin]) are automatically scaled:

ListPlot[{1,5,10,35,60,75,140},ScalingFunctions->"Log",PlotRange->{1,100},AxesOrigin->{Automatic,10}]

OpenersExampleSubsection34(Spacer1)TargetUnits  (2)

Automatically detect units:

ListPlot[Quantity[Range[10],"Hours"]]

Specify alternate units:

ListPlot[Quantity[Range[10],"Hours"],TargetUnits->"Minutes"]

OpenersExampleSection3(Spacer1)Applications  (9)

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

ListPlot[{Table[Prime[n],{n,80}],Table[n Log[n],{n,80}]}]

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

ListPlot[Reap[NIntegrate[1/Abs[Sqrt[x]],{x,-1,0,1},EvaluationMonitor:>Sow[x]]][[2,1]],PlotRange->All]

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

ListPlot[Reap[NIntegrate[1/Abs[Sqrt[x]],{x,-1,0,1},EvaluationMonitor:>Sow[{x,1/Abs[Sqrt[x]]}]]][[2,1]],Filling->Axis]

Plot life expectancy against birth rates for all the countries:

ListPlot[Table[Tooltip[{CountryData[c,"BirthRateFraction"],CountryData[c,"LifeExpectancy"]},c],{c,CountryData["Countries"]}]]

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

ListPlot[Table[{ElementData[z,"AbsoluteBoilingPoint"],ElementData[z,"VaporizationHeat"]},{z,118}]]

Plot a discrete-time signal and its spectrum:

signal=Table[Mod[i/2,10]/10,{i,100}];

{ListPlot[signal,Filling->Axis],ListPlot[Abs[Fourier[signal]],DataRange->{0,2Pi},Filling->Axis,PlotRange->All]}

Plot the probability mass function for a distribution:

ListPlot[Table[{k,PDF[BinomialDistribution[50,0.3],k]},{k,0,40}],Filling->Axis]

Plot the empirical probability mass function:

ListPlot[Tally[RandomInteger[BinomialDistribution[50,0.3],10^4]],PlotRange->{{0,40},All},Filling->Axis]

Plot a solution sequence to a difference equation:

RSolve[x[n+1]==4x[n](1-x[n])&&x[0]==1/10,x,n]//Quiet

ListPlot[Table[Evaluate[x[n]/.First[%]],{n,0,100}],Filling->Axis]

Plot randomly sampled properties:

data=RandomReal[{-1,1},{1000,2}];

Table[ListPlot[Cases[data,p_/;Norm[p,n]<1],AspectRatio->Automatic],{n,{1,2,3}}]

Plot uncertainties in the mass and radius of exoplanets:

rmdata=EntityValue["Exoplanet",{EntityProperty["Exoplanet", "Mass",{"Uncertainty"->"Around"}],EntityProperty["Exoplanet", "Radius",{"Uncertainty"->"Around"}]}];

rmdata=DeleteMissing[rmdata,1,2];

ListPlot[rmdata,]

OpenersExampleSection4(Spacer1)Properties & Relations  (13)

By default pairs are interpreted as (x,y) values:

ListPlot[{{1,2},{3,6},{7,5}}]

Interpret the data as multiple (Subscript[data, i]):

ListPlot[{{1,2},{3,6},{7,5}},DataRange->All]

(RefLink[ListLinePlot, paclet:ref/ListLinePlot]) is a special case of (RefLink[ListPlot, paclet:ref/ListPlot]):

{ListLinePlot[Table[Binomial[9,k],{k,0,9}]],
ListPlot[Table[Binomial[9,k],{k,0,9}],Joined->True]}

Use (RefLink[Plot, paclet:ref/Plot]) for functions:

{Plot[Sin[x^2],{x,0,5}],ListLinePlot[Table[{x,Sin[x^2]},{x,0,5,0.1}]]}

Use (RefLink[ListLogPlot, paclet:ref/ListLogPlot]), (RefLink[ListLogLogPlot, paclet:ref/ListLogLogPlot]), and (RefLink[ListLogLinearPlot, paclet:ref/ListLogLinearPlot]) for logarithmic plots:

ListLogPlot[Table[Binomial[25,k],{k,0,25}],Joined->True]

Use (RefLink[ListPolarPlot, paclet:ref/ListPolarPlot]) for polar plots:

ListPolarPlot[Table[{x,Sqrt[x]},{x,0,2Pi,0.1}]]

Use (RefLink[DateListPlot, paclet:ref/DateListPlot]) to show data over time:

DateListPlot[{5,11,13,24,28,31,34,39,42,47,51,66},{2006,1},PlotStyle->PointSize[Medium],Joined->False]

Use (RefLink[ComplexListPlot, paclet:ref/ComplexListPlot]) to plot complex numbers using their real and imaginary parts:

data=RandomComplex[{-10-10I,10+10I},100];

ComplexListPlot[data]

ListPlot[ReIm[data]]

Use (RefLink[ListPointPlot3D, paclet:ref/ListPointPlot3D]) to show three-dimensional points:

ListPointPlot3D[Table[Sin[j^2+i],{i,0,Pi,0.1},{j,0,Pi,0.1}]]

Use (RefLink[ListPlot3D, paclet:ref/ListPlot3D]) to create surfaces from data:

ListPlot3D[Table[Sin[j^2+i],{i,0,Pi,0.1},{j,0,Pi,0.1}]]

Use (RefLink[ListContourPlot, paclet:ref/ListContourPlot]) to create contours from continuous data:

ListContourPlot[Table[Sin[j^2+i],{i,0,Pi,0.1},{j,0,Pi,0.1}]]

Use (RefLink[ListDensityPlot, paclet:ref/ListDensityPlot]) to create densities from continuous data:

ListDensityPlot[Table[Sin[j^2+i],{i,0,Pi,0.1},{j,0,Pi,0.1}]]

Use (RefLink[ArrayPlot, paclet:ref/ArrayPlot]) and (RefLink[MatrixPlot, paclet:ref/MatrixPlot]) for arrays of discrete values:

ArrayPlot[Table[GCD[i,j],{i,1,20},{j,1,20}]]

Use (RefLink[ParametricPlot, paclet:ref/ParametricPlot]) for parametric curves:

{ParametricPlot[{Cos[θ],Sin[θ]},{θ,0,2Pi}],ListLinePlot[Table[{Cos[θ],Sin[θ]},{θ,0,2Pi,0.1}],AspectRatio->1]}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[ListLinePlot, paclet:ref/ListLinePlot])  ▪  (RefLink[DiscretePlot, paclet:ref/DiscretePlot])  ▪  (RefLink[Plot, paclet:ref/Plot])  ▪  (RefLink[ListLogPlot, paclet:ref/ListLogPlot])  ▪  (RefLink[DateListPlot, paclet:ref/DateListPlot])  ▪  (RefLink[ListPolarPlot, paclet:ref/ListPolarPlot])  ▪  (RefLink[StackedListPlot, paclet:ref/StackedListPlot])  ▪  (RefLink[ListPointPlot3D, paclet:ref/ListPointPlot3D])  ▪  (RefLink[ListPlot3D, paclet:ref/ListPlot3D])  ▪  (RefLink[NumberLinePlot, paclet:ref/NumberLinePlot])  ▪  (RefLink[Graphics, paclet:ref/Graphics])  ▪  (RefLink[Point, paclet:ref/Point])  ▪  (RefLink[Fit, paclet:ref/Fit])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Plotting Lists of Data, paclet:tutorial/PlottingListsOfData])}, {▪Related Workflows}, {▪(RefLinkPlain[Change the Style of Points in a 2D Scatter Plot, paclet:workflow/ChangeTheStyleOfPointsInA2DScatterPlot])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Data Visualization, paclet:guide/DataVisualization])}, {▪(RefLinkPlain[Numbers with Uncertainty, paclet:guide/NumbersWithUncertainty])}, {▪(RefLinkPlain[Signal Processing, paclet:guide/SignalProcessing])}, {▪(RefLinkPlain[Discrete Calculus, paclet:guide/DiscreteCalculus])}, {▪(RefLinkPlain[Charting and Information Visualization, paclet:guide/ChartingAndInformationVisualization])}, {▪(RefLinkPlain[Scientific Data Analysis, paclet:guide/ScientificDataAnalysis])}, {▪(RefLinkPlain[Handling Arrays of Data, paclet:guide/HandlingArraysOfData])}, {▪(RefLinkPlain[Statistical Visualization, paclet:guide/StatisticalVisualization])}, {▪(RefLinkPlain[Numerical Data, paclet:guide/NumericalData])}, {▪(RefLinkPlain[Financial Visualization, paclet:guide/FinancialVisualization])}, {▪(RefLinkPlain[Function Visualization, paclet:guide/FunctionVisualization])}, {▪(RefLinkPlain[Associations, paclet:guide/Associations])}, {▪(RefLinkPlain[Probability & Statistics with Quantities, paclet:guide/ProbabilityWithQuantities])}, {▪(RefLinkPlain[Audio Representation, paclet:guide/AudioRepresentation])}, {▪(RefLinkPlain[Audio Processing, paclet:guide/AudioProcessing])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(WebLink[DocumentationFooterIconsRelatedLinks-FastIntro.png(Spacer1)Fast Introduction for Programmers: Graphics, http://www.wolfram.com/language/fast-introduction-for-programmers/graphics/])}, {(WebLink[DocumentationFooterIconsRelatedLinks-EIWL.png(Spacer1)An Elementary Introduction to the Wolfram Language, https://www.wolfram.com/language/elementary-introduction/03-first-look-at-lists.html])(WebLink[: First Look at Lists, https://www.wolfram.com/language/elementary-introduction/03-first-look-at-lists.html])}, {(WebLink[DocumentationFooterIconsRelatedLinks-EIWL.png(Spacer1)An Elementary Introduction to the Wolfram Language, https://www.wolfram.com/language/elementary-introduction/14-coordinates-and-graphics.html])(WebLink[: Coordinates and Graphics, https://www.wolfram.com/language/elementary-introduction/14-coordinates-and-graphics.html])}, {(WebLink[DocumentationFooterIconsRelatedLinks-EIWL.png(Spacer1)An Elementary Introduction to the Wolfram Language, https://www.wolfram.com/language/elementary-introduction/19-dates-and-times.html])(WebLink[: Dates and Times, https://www.wolfram.com/language/elementary-introduction/19-dates-and-times.html])}, {(WebLink[DocumentationFooterIconsRelatedLinks-EIWL.png(Spacer1)An Elementary Introduction to the Wolfram Language, https://www.wolfram.com/language/elementary-introduction/37-layout-and-display.html])(WebLink[: Layout and Display, https://www.wolfram.com/language/elementary-introduction/37-layout-and-display.html])}})}})