Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • System Modeler

    Multidomain modeling and simulation of complex systems

  • Compute ServicesUse with Mathematica and Wolfram|One
  • AI AccessUse with Mathematica and Wolfram|One
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Wolfram|Alpha

  • Wolfram|Alpha Website
  • Wolfram|Alpha APIs

AI Products

  • Wolfram AI Ecosystem
  • Wolfram Foundation Tool
  • Wolfram Cloud MCP
  • Wolfram Local MCP
  • Agent One API
  • CAG Component APIs

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • Linguistic Understanding

Additional Deployment Options

  • Wolfram Cloud
  • Wolfram Web Engine
  • wolframscript
  • WSTPServer
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

Wolfram Consulting

Data Science, Finance & Business

  • Artificial Intelligence
  • Data Science
  • Healthcare
  • Real Estate

Engineering

  • Civil Engineering
  • Automotive Engineering
  • Sustainable Energy

Science & Technology

  • AgTech
  • Biosciences
  • Environmental Science
  • Food Science
  • Quantum Computation
  • Social and Behavioral Sciences

More Wolfram Solutions

Technology for Education

  • Research Universities
  • Colleges & Teaching Universities
  • High Schools
  • Resources for Students

Education Initiatives

  • Next-Gen EdTech
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
For AIs
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • System Modeler
    • Compute ServicesUse with Mathematica and Wolfram|One
    • AI AccessUse with Mathematica and Wolfram|One
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Wolfram|Alpha
      • Wolfram|Alpha Website
      • Wolfram|Alpha APIs
    • AI Products
      • Wolfram AI Ecosystem
      • Wolfram Foundation Tool
      • Wolfram Cloud MCP
      • Wolfram Local MCP
      • Agent One API
      • CAG Component APIs
    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • Linguistic Understanding
    • Additional Deployment Options
      • Wolfram Cloud
      • Wolfram Web Engine
      • wolframscript
      • WSTPServer
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions
    • Wolfram Consulting

    Data Science, Finance & Business

    • Artificial Intelligence
    • Data Science
    • Healthcare
    • Real Estate

    Engineering

    • Civil Engineering
    • Automotive Engineering
    • Sustainable Energy

    Science & Technology

    • AgTech
    • Biosciences
    • Environmental Science
    • Food Science
    • Quantum Computation
    • Social and Behavioral Sciences

    More Wolfram Solutions

    Technology for Education

    • Research Universities
    • Colleges & Teaching Universities
    • High Schools
    • Resources for Students

    Education Initiatives

    • Next-Gen EdTech
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • For AIs
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
ListPlot
  • See Also
    • ListLinePlot
    • DiscretePlot
    • Plot
    • ListLogPlot
    • DateListPlot
    • ListPolarPlot
    • StackedListPlot
    • ListPointPlot3D
    • ListLinePlot3D
    • ListPlot3D
    • NumberLinePlot
    • Graphics
    • Point
    • Fit
  • Related Guides
    • Data Visualization
    • GPU Computing
    • Numbers with Uncertainty
    • Tabular Visualization
    • Discrete Calculus
    • Charting and Information Visualization
    • Scientific Data Analysis
    • Tabular Processing Overview
    • Tabular Communication
    • Signal Visualization & Analysis
    • Handling Arrays of Data
    • GPU Computing with NVIDIA
    • GPU Computing with Apple
    • Statistical Visualization
    • Numerical Data
    • Financial Visualization
    • Function Visualization
    • Associations
    • Spatial Point Collections
    • Date & Time Visualization
    • Probability & Statistics with Quantities
    • Event Series Processing
    • Event Series Processing
    • Audio Representation
  • Workflows
    • Change the Style of Points in a 2D Scatter Plot
  • Tech Notes
    • Plotting Lists of Data
    • See Also
      • ListLinePlot
      • DiscretePlot
      • Plot
      • ListLogPlot
      • DateListPlot
      • ListPolarPlot
      • StackedListPlot
      • ListPointPlot3D
      • ListLinePlot3D
      • ListPlot3D
      • NumberLinePlot
      • Graphics
      • Point
      • Fit
    • Related Guides
      • Data Visualization
      • GPU Computing
      • Numbers with Uncertainty
      • Tabular Visualization
      • Discrete Calculus
      • Charting and Information Visualization
      • Scientific Data Analysis
      • Tabular Processing Overview
      • Tabular Communication
      • Signal Visualization & Analysis
      • Handling Arrays of Data
      • GPU Computing with NVIDIA
      • GPU Computing with Apple
      • Statistical Visualization
      • Numerical Data
      • Financial Visualization
      • Function Visualization
      • Associations
      • Spatial Point Collections
      • Date & Time Visualization
      • Probability & Statistics with Quantities
      • Event Series Processing
      • Event Series Processing
      • Audio Representation
    • Workflows
      • Change the Style of Points in a 2D Scatter Plot
    • Tech Notes
      • Plotting Lists of Data

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
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
General Data  
Tabular Data  
Special Data  
Data Wrappers  
Labeling and Legending  
Presentation  
Options  
ClippingStyle  
ColorFunction  
ColorFunctionScaling  
Show More Show More
DataRange  
Filling  
FillingStyle  
Frame  
FrameLabel  
FrameStyle  
FrameTicks  
FrameTicksStyle  
ImageSize  
InterpolationOrder  
IntervalMarkers  
IntervalMarkersStyle  
Joined  
LabelingFunction  
LabelingSize  
LabelingTarget  
MaxPlotPoints  
Mesh  
MeshFunctions  
MeshShading  
MultiaxisArrangement  
PlotFit  
PlotFitElements  
PlotHighlighting  
PlotInteractivity  
PlotLabel  
PlotLabels  
PlotLayout  
PlotLegends  
PlotMarkers  
PlotRange  
PlotStyle  
PlotTheme  
ScalingFunctions  
TargetUnits  
Applications  
Properties & Relations  
See Also
Tech Notes
Related Guides
Related Workflows
Related Links
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • ListLinePlot
    • DiscretePlot
    • Plot
    • ListLogPlot
    • DateListPlot
    • ListPolarPlot
    • StackedListPlot
    • ListPointPlot3D
    • ListLinePlot3D
    • ListPlot3D
    • NumberLinePlot
    • Graphics
    • Point
    • Fit
  • Related Guides
    • Data Visualization
    • GPU Computing
    • Numbers with Uncertainty
    • Tabular Visualization
    • Discrete Calculus
    • Charting and Information Visualization
    • Scientific Data Analysis
    • Tabular Processing Overview
    • Tabular Communication
    • Signal Visualization & Analysis
    • Handling Arrays of Data
    • GPU Computing with NVIDIA
    • GPU Computing with Apple
    • Statistical Visualization
    • Numerical Data
    • Financial Visualization
    • Function Visualization
    • Associations
    • Spatial Point Collections
    • Date & Time Visualization
    • Probability & Statistics with Quantities
    • Event Series Processing
    • Event Series Processing
    • Audio Representation
  • Workflows
    • Change the Style of Points in a 2D Scatter Plot
  • Tech Notes
    • Plotting Lists of Data
    • See Also
      • ListLinePlot
      • DiscretePlot
      • Plot
      • ListLogPlot
      • DateListPlot
      • ListPolarPlot
      • StackedListPlot
      • ListPointPlot3D
      • ListLinePlot3D
      • ListPlot3D
      • NumberLinePlot
      • Graphics
      • Point
      • Fit
    • Related Guides
      • Data Visualization
      • GPU Computing
      • Numbers with Uncertainty
      • Tabular Visualization
      • Discrete Calculus
      • Charting and Information Visualization
      • Scientific Data Analysis
      • Tabular Processing Overview
      • Tabular Communication
      • Signal Visualization & Analysis
      • Handling Arrays of Data
      • GPU Computing with NVIDIA
      • GPU Computing with Apple
      • Statistical Visualization
      • Numerical Data
      • Financial Visualization
      • Function Visualization
      • Associations
      • Spatial Point Collections
      • Date & Time Visualization
      • Probability & Statistics with Quantities
      • Event Series Processing
      • Event Series Processing
      • Audio Representation
    • Workflows
      • Change the Style of Points in a 2D Scatter Plot
    • Tech Notes
      • Plotting Lists of Data

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

  • ListPlot is also known as a scatter plot or point plot when given a list of heights yi.
  • Regular data {y1,…,yn} is plotted as the points {i,yi}.
  • Irregular data {{x1,y1},…,{xn,yn}} is plotted as points {xi,yi}.
  • Data values xi and yi can be given in the following forms:
  • xia real-valued number
    Quantity[xi,unit]a quantity with a unit
    Around[xi,ei]value xi with uncertainty ei
    Interval[{xmin,xmax}]values between xmin and xmax
  • Values xi and yi that are not of the form above are taken to be missing and are not shown.
  • The datai have the following forms and interpretations:
  • <|"k1"y1,"k2"y2,…|>values {y1,y2,…}
    <|x1y1,x2y2,…|>key-value pairs {{x1,y1},{x2,y2},…}
    {y1"lbl1",y2"lbl2",…}, {y1,y2,…}{"lbl1","lbl2",…}values {y1,y2,…} with labels {lbl1,lbl2,…}
    SparseArrayvalues as a normal array
    TimeSeries, EventSeriestime-value pairs
    QuantityArraymagnitudes
    WeightedDataunweighted values
  • ListPlot[Tabular[…]cspec] extracts and plots values from the tabular object using the column specification cspec.
  • The following forms of column specifications cspec are allowed for plotting tabular data:
  • {colx,coly}plot column y against column x
    {{colx1,coly1},{colx2,coly2},…}plot column y1 against column x1, y2 against x2, …
    coly, {coly}plot column y as a sequence of values
    {{coly1},…,{colyi},…}plot columns y1, y2, … as sequences of values
  • The colx can also be Automatic, in which case, sequential values are generated using DataRange.
  • ListPlot[TimeSeries[…]cspec] and ListPlot[EventSeries[…]cspec] extract and plot values from the time or event series using the column specification cspec.
  • The following forms of component specifications cspec are allowed for plotting series data:
  • complot component com against the timestamps
    {com1,com2,…}plot each component comi against the timestamps
  • The following wrappers w can be used for the datai:
  • Annotation[datai,label]provide an annotation for the data
    Button[datai,action]define an action to execute when the data is clicked
    Callout[datai,label]label the data with a callout
    Callout[datai,label,pos]place the callout at relative position pos
    EventHandler[datai,…]define a general event handler for the data
    Highlighted[datai,effect]dynamically highlight fi with an effect
    Highlighted[datai,Placed[effect,pos]]statically highlight fi with an effect at position pos
    Hyperlink[datai,uri]make the data a hyperlink
    Labeled[datai,label]label the data
    Labeled[datai,label,pos]place the label at relative position pos
    Legended[datai,label]identify the data in a legend
    PopupWindow[datai,cont]attach a popup window to the data
    StatusArea[datai,label]display in the status area on mouseover
    Style[datai,styles]show the data using the specified styles
    Tooltip[datai,label]attach a tooltip to the data
    Tooltip[datai]use data values as tooltips
  • Wrappers w can be applied at multiple levels:
  • {…,w[yi],…}wrap the value yi in data
    {…,w[{xi,yi}],…}wrap the point {xi,yi}
    w[datai]wrap the data
    w[{data1,…}]wrap a collection of datai
    w1[w2[…]]use nested wrappers
  • Callout, Labeled, and Placed can use the following positions pos:
  • Automaticautomatically placed labels
    Abovepositions above data or point
    Belowpositions below data or point
    Beforepositions before data or point
    Afterpositions after data or point
    {pos,epos}epos in label placed at relative position pos of the data
  • ListPlot has the same options as Graphics, with the following additions and changes: [List of all options]
  • AspectRatio1/GoldenRatioratio of height to width
    AxesTruewhether to draw axes
    ColorFunction Automatichow to determine the coloring of points
    ColorFunctionScaling Truewhether to scale data to ColorFunction
    DataRange Automaticthe range of x values to assume for data
    IntervalMarkers Automatichow to render uncertainty
    IntervalMarkersStyle Automaticstyle for uncertainty elements
    Filling Nonehow to fill in stems for each point
    FillingStyle Automaticstyle to use for filling
    Joined Falsewhether to join points
    LabelingFunction Automatichow to label points
    LabelingSize Automaticmaximum size of callouts and labels
    LabelingTarget Automatichow to determine automatic label positions
    MultiaxisArrangement Nonehow to arrange multiple axes for data
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotFit Nonehow to fit a curve to the points
    PlotFitElements Automaticfitted elements to show in the plot
    PlotHighlighting Automatichighlighting effect for curves
    PlotInteractivity $PlotInteractivitywhether to allow interactive elements
    PlotLabel Noneoverall label for the plot
    PlotLabels Nonelabels for data
    PlotLayout "Overlaid"how to position data
    PlotLegends Nonelegends for data
    PlotMarkers Nonemarkers to use to indicate each point
    PlotRange Automaticrange of values to include
    PlotRangeClippingTruewhether to clip at the plot range
    PlotStyle Automaticgraphics directives to determine styles of points
    PlotTheme $PlotThemeoverall theme for the plot
    ScalingFunctions Nonehow to scale individual coordinates
    TargetUnits Automaticunits to display in the plot
  • DataRange determines how values {y1,…,yn} are interpreted into {{x1,y1},…,{xn,yn}}. Possible settings include:
  • Automatic,Alluniform from 1 to n
    {xmin,xmax}uniform from xmin to xmax
  • In general a list of pairs {{x1,y1},{x2,y2},…} is interpreted as a list of points, but the setting DataRangeAll forces it to be interpreted as multiple datai {{y11,y12},{y21,y23},…}. »
  • 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.
  • Possible settings for PlotLayout that show multiple curves in a single plot panel include:
  • "Overlaid"show all the data overlapping
    "Stacked"accumulate the data
    "Percentile"accumulate and normalize the data
  • Possible settings for PlotLayout that show single curves in multiple plot panels include:
  • "Column"use separate plots in a column of panels
    "Row"use separate plots in a row of panels
    {"Column",k},{"Row",k}use k columns or rows
    {"Column",UpTo[k]},{"Row",UpTo[k]}use at most k columns or rows
  • Possible highlighting effects for Highlighted and PlotHighlighting include:
  • stylehighlight the indicated data
    "Ball"highlight and label the indicated point in data
    "Dropline"highlight and label the indicated point in data with droplines to the axes
    "XSlice"highlight and label all points along a vertical slice
    "YSlice"highlight and label all points along a horizontal slice
    Placed[effect,pos]statically highlight the given position pos
  • Highlight position specifications pos include:
  • x, {x}effect at {x,y} with y chosen automatically
    {x,y}effect at {x,y}
    {pos1,pos2,…}multiple positions posi
  • Typical settings for PlotLegends include:
  • Noneno legend
    Automaticautomatically determine legend
    {lbl1,lbl2,…}use lbl1, lbl2, … as legend labels
    Placed[lspec,…]specify placement for legend
  • PlotStylesty specifies the styles to use for each curve. Possible settings include:
  • {sty1,sty2,…}sequence of styles for the datasets
    <|"key"val,…|>styling elements for different levels of data
  • The accepted keys are:
  • "Base"overall style for all the datai
    "Lists"list of styles styi for each datai
  • ColorData["DefaultPlotColors"] gives the default sequence of colors used by PlotStyle.
  • ScalingFunctions->"scale" scales the coordinate; ScalingFunctions{"scalex","scaley"} scales both the and coordinates.
  • The arguments supplied to functions in ColorFunction are and . Functions in ColorFunction are by default supplied with scaled versions of these arguments.
  • List of all options

    • AlignmentPointCenterthe default point in the graphic to align with
      AspectRatio1/GoldenRatioratio of height to width
      AxesTruewhether to draw axes
      AxesLabelNoneaxes labels
      AxesOriginAutomaticwhere axes should cross
      AxesStyle{}style specifications for the axes
      BackgroundNonebackground color for the plot
      BaselinePositionAutomatichow to align with a surrounding text baseline
      BaseStyle{}base style specifications for the graphic
      ColorFunctionAutomatichow to determine the coloring of points
      ColorFunctionScalingTruewhether to scale data to ColorFunction
      ContentSelectableAutomaticwhether to allow contents to be selected
      CoordinatesToolOptionsAutomaticdetailed behavior of the coordinates tool
      DataRangeAutomaticthe range of x values to assume for data
      Epilog{}primitives rendered after the main plot
      FillingNonehow to fill in stems for each point
      FillingStyleAutomaticstyle to use for filling
      FormatTypeTraditionalFormthe default format type for text
      FrameFalsewhether to put a frame around the plot
      FrameLabelNoneframe labels
      FrameStyle{}style specifications for the frame
      FrameTicksAutomaticframe ticks
      FrameTicksStyle{}style specifications for frame ticks
      GridLinesNonegrid lines to draw
      GridLinesStyle{}style specifications for grid lines
      ImageMargins0.the margins to leave around the graphic
      ImagePaddingAllwhat extra padding to allow for labels etc.
      ImageSizeAutomaticthe absolute size at which to render the graphic
      IntervalMarkersAutomatichow to render uncertainty
      IntervalMarkersStyleAutomaticstyle for uncertainty elements
      JoinedFalsewhether to join points
      LabelingFunctionAutomatichow to label points
      LabelingSizeAutomaticmaximum size of callouts and labels
      LabelingTargetAutomatichow to determine automatic label positions
      LabelStyle{}style specifications for labels
      MethodAutomaticdetails of graphics methods to use
      MultiaxisArrangementNonehow to arrange multiple axes for data
      PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
      PlotFitNonehow to fit a curve to the points
      PlotFitElementsAutomaticfitted elements to show in the plot
      PlotHighlightingAutomatichighlighting effect for curves
      PlotInteractivity$PlotInteractivitywhether to allow interactive elements
      PlotLabelNoneoverall label for the plot
      PlotLabelsNonelabels for data
      PlotLayout"Overlaid"how to position data
      PlotLegendsNonelegends for data
      PlotMarkersNonemarkers to use to indicate each point
      PlotRangeAutomaticrange of values to include
      PlotRangeClippingTruewhether to clip at the plot range
      PlotRangePaddingAutomatichow much to pad the range of values
      PlotRegionAutomaticthe final display region to be filled
      PlotStyleAutomaticgraphics directives to determine styles of points
      PlotTheme$PlotThemeoverall theme for the plot
      PreserveImageOptionsAutomaticwhether to preserve image options when displaying new versions of the same graphic
      Prolog{}primitives rendered before the main plot
      RotateLabelTruewhether to rotate y labels on the frame
      ScalingFunctionsNonehow to scale individual coordinates
      TargetUnitsAutomaticunits to display in the plot
      TicksAutomaticaxes ticks
      TicksStyle{}style specifications for axes ticks

Examples

open all close all

Basic Examples  (7)

Plot a list of values:

Wolfram Language code: ListPlot[Prime[Range[25]]]

Plot a list of , pairs:

Wolfram Language code: ListPlot[RandomVariate[BinormalDistribution[{4, 4}, {1, 1}, 0.5], 750]]

Plot several datai with a legend:

Wolfram Language code: 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:

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

Label each datai:

Wolfram Language code: ListPlot[{Labeled[Sqrt[Range[40]], "sqrt"], Labeled[Log[Range[40, 80]], "log"]}]

Plot multiple datasets in a row of panels:

Wolfram Language code: ListPlot[{Labeled[Sqrt[Range[40]], "sqrt"], Labeled[Log[Range[40, 80]], "log"]}, PlotLayout -> "Row"]

Use individual colors for each point:

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

Scope  (64)

General Data  (11)

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

Wolfram Language code: ListPlot[Sqrt[Range[40]]]

Provide an explicit data range by using DataRange:

Wolfram Language code: ListPlot[Sqrt[Range[40]], DataRange -> {0, 1}]

Plot multiple sets of regular data:

Wolfram Language code: ListPlot[{Sqrt[Range[40]], Log[Range[40, 80]]}]

Include units with the data:

Wolfram Language code: ListPlot[Quantity[Sqrt[Range[10]], "Meters"]]

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

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

Plot multiple sets of irregular data:

Wolfram Language code: data1 = Table[{x, Sin[x]}, {x, RandomReal[2Pi, 50]}]; data2 = Table[{x, Cos[x]}, {x, RandomReal[2Pi, 250]}];
Wolfram Language code: ListPlot[{data1, data2}]

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

Wolfram Language code: data1 = Table[Sin[x], {x, 0, 2Pi, 0.1}]; data2 = Table[{x, Cos[x]}, {x, RandomReal[2Pi, 100]}];
Wolfram Language code: ListPlot[{data1, data2}, DataRange -> {0, 2Pi}]

Ranges where the data is nonreal are excluded:

Wolfram Language code: {ListPlot[{1, 1 + I, 3, None, 5, 6, Missing["NotAvailable"], 8, 9}], ListPlot[Sqrt[Sin[Range[0, 3Pi, 0.1]]]]}

Use MaxPlotPoints to limit the number of points used:

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

PlotRange is selected automatically:

Wolfram Language code: {ListPlot[{2 ^ Range[15], Fibonacci[Range[15]]}], ListPlot[{2 ^ Range[15], Fibonacci[Range[15]]}, PlotRange -> All]}
Wolfram Language code: {ListPlot[{0, 1, 2, 3, 100, 5, 6, 7}], ListPlot[{0, 1, 2, 3, 100, 5, 6, 7}, PlotRange -> All]}

Use PlotRange to focus on areas of interest:

Wolfram Language code: {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 ScalingFunctions to scale the axes:

Wolfram Language code: ListPlot[Factorial[Range[20]], ScalingFunctions -> "Log"]

Tabular Data  (3)

Get tabular data:

Wolfram Language code: tabular = Tabular[ResourceData["Sample Data: Fisher's Irises"]]

Plot sepal widths against sepal lengths:

Wolfram Language code: ListPlot[tabular -> {"SepalLength", "SepalWidth"}]

Use PivotToColumns to create columns of sepal length for each species:

Wolfram Language code: pivot = PivotToColumns[tabular, "Species" -> "PetalLength"]

Plot petal length against width for each of the species of iris:

Wolfram Language code: ListPlot[pivot -> {{"PetalWidth", ExtendedKey["PetalLength", "setosa"]}, {"PetalWidth", ExtendedKey["PetalLength", "versicolor"]}, {"PetalWidth", ExtendedKey["PetalLength", "virginica"]}}]

Use abbreviated names for extended keys when the elements are unique:

Wolfram Language code: ListPlot[pivot -> {{"PetalWidth", "setosa"}, {"PetalWidth", "versicolor"}, {"PetalWidth", "virginica"}}]

Create a dot plot of petal lengths for each species:

Wolfram Language code: ListPlot[tabular -> {"Species", "PetalLength"}, ScalingFunctions -> {NominalScale[Automatic], None}]

Plot all the data in TimeSeries or EventSeries:

Wolfram Language code: ListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {7, {{NumericArray[{-248, 118, 298, 638, 865, 1006, 1216}, "Integer32"], {}, None}}, None}, ... "Data" -> {{32, 62, 112, 167, 179, 209, 214}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{30, 49, 81, 125, 142, 174, 177}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]]]

Plot a specific component of a TimeSeries or EventSeries:

Wolfram Language code: trees = TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {7, {{NumericArray[{-248, 118, 298, 638, 865, 1006, 1216}, "Integer32"], {}, None}}, None}, ... "Data" -> {{32, 62, 112, 167, 179, 209, 214}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{30, 49, 81, 125, 142, 174, 177}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]];
Wolfram Language code: ListPlot[trees -> "tree 1"]

Plot multiple components:

Wolfram Language code: ListPlot[trees -> {"tree 1", "tree 2"}]

Special Data  (10)

Use Quantity to include units with the data:

Wolfram Language code: ListPlot[Quantity[Sqrt[Range[10]], "Meters"], AxesLabel -> Automatic]

Include different units for the x and y coordinates:

Wolfram Language code: data = EntityValue[EntityClass["Element", All], {"AtomicMass", "MeltingPoint"}];
Wolfram Language code: ListPlot[data, AxesLabel -> Automatic]

Plot data in a QuantityArray:

Wolfram Language code: data = QuantityArray[EntityValue[EntityClass["Element", All], {"AtomicMass", "MeltingPoint"}]]
Wolfram Language code: ListPlot[data, AxesLabel -> Automatic]

Specify the units with TargetUnits:

Wolfram Language code: ListPlot[data, TargetUnits -> {Automatic, "Kelvin"}, AxesLabel -> Automatic]

Plot data with uncertainty:

Wolfram Language code: ListPlot[Table[Around[RandomReal[5], RandomReal[0.5]], 20]]

Use intervals:

Wolfram Language code: ListPlot[Table[Interval[RandomReal[5] + {-0.5, 0.5}], 20]]

Specify strings to use as labels:

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

Specify a location for labels with LabelingFunction:

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

Numeric values in an Association are used as the coordinates:

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

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

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

Plot TimeSeries directly with automatic date ticks:

Wolfram Language code: data = CountryData["UnitedStates", {{"Population"}, {1988, 2013}}]
Wolfram Language code: ListPlot[data, AxesLabel -> Automatic]

Plot TimeSeries directly:

Wolfram Language code: ts = TimeSeries[Transpose@{{4, 9, 18, 27, 34, 40, 49, 54, 64, 72}, {1, 9, 11, 16, 18, 25, 34, 43, 49, 54} + 5, Sort[RandomInteger[{10, 100}, 10]]}, {{2013, 1, 1}, Automatic, "Day"}, ComponentKeys -> {"a", "b", "c"}]
Wolfram Language code: ListPlot[ts]

Plot only component "b":

Wolfram Language code: ListPlot[ts -> "b"]

Plot only components "a" and "c":

Wolfram Language code: ListPlot[ts -> {"a", "c"}]

Plot data in a SparseArray:

Wolfram Language code: ListPlot[SparseArray[Table[Prime[i] -> 1, {i, 25}]]]

The weights in WeightedData are ignored:

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

Data Wrappers  (6)

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

Wolfram Language code: {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:

Wolfram Language code: {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:

Wolfram Language code: ListPlot[Tooltip[Prime[Range[100]]]]

Use a specific label for all the points:

Wolfram Language code: ListPlot[Tooltip[Prime[Range[100]], "primes"]]

Labels points with automatically positioned text:

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

Use PopupWindow to provide additional drilldown information:

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

Button can be used to trigger any action:

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

Labeling and Legending  (16)

Label points with automatically positioned text:

Wolfram Language code: ListPlot[Table[Labeled[RandomReal[1, 2], i], {i, 20}]]

Place the labels relative to the points:

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

Label data with Labeled:

Wolfram Language code: data = Table[Table[{x, f}, {x, 0, 2Pi, 0.1}], {f, {Sin[x], Sin[2x]}}];
Wolfram Language code: ListPlot[MapThread[Labeled[#1, #2]&, {data, {Sin[x], Sin[2x]}}]]

Label data with PlotLabels:

Wolfram Language code: data = Table[Table[{x, f}, {x, 0, 2Pi, 0.1}], {f, {Sin[x], Sin[2x]}}];
Wolfram Language code: ListPlot[data, PlotLabels -> {Sin[x], Sin[2x]}]

Place the label near the points at a x value:

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

Use a scaled position:

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

Specify the text position relative to the point:

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

Label data automatically with Callout:

Wolfram Language code: ListPlot[{Callout[Table[PartitionsQ[n], {n, 18}], PartitionsQ[n]], Callout[Table[n, {n, 18}], n]}]

Place a label with a relative location:

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

Specific location at x=5:

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

Specify label names with LabelingFunction:

Wolfram Language code: ListPlot[Prime[Range[10]], LabelingFunction -> (#1 &)]

Specify the maximum size of labels:

Wolfram Language code: data = Table[Labeled[Prime[i], RandomWord[]], {i, 10}];
Wolfram Language code: ListPlot[data, LabelingSize -> 30]

Use the full label:

Wolfram Language code: ListPlot[data, LabelingSize -> Full]

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

Wolfram Language code: data = Table[Callout[RandomReal[1, 2], i], {i, 100}];
Wolfram Language code: ListPlot[data]

Increasing the size of the plot will show more labels:

Wolfram Language code: ListPlot[data, ImageSize -> 400]

Include legends for each curve:

Wolfram Language code: data = Table[Table[{x, f}, {x, 0, 2Pi, 0.1}], {f, {Sin[x], Sin[2x]}}];
Wolfram Language code: ListPlot[data, PlotLegends -> {Sin[x], Sin[2x]}]

Use Legended to provide a legend for a specific dataset:

Wolfram Language code: upper = RandomReal[{1.5, 2}, 50]; lower = RandomReal[0.5, 50];
Wolfram Language code: ListPlot[{lower, Legended[Mean[{lower, upper}], "average"], upper}]

Use Placed to change the legend location:

Wolfram Language code: ListPlot[{lower, Legended[Mean[{lower, upper}], Placed["average", Below]], upper}]

Use association keys as labels:

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

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

Wolfram Language code: ListPlot[{...}]

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

Wolfram Language code: ListPlot[Callout[{...}, "hello", 13]]

Choose from multiple interactive highlighting effects:

Wolfram Language code: {ListPlot[{{...}, {...}}, PlotHighlighting -> "Dropline"], ListPlot[{{...}, {...}}, PlotHighlighting -> "XSlice"]}

Use Highlighted to emphasize specific points in a plot:

Wolfram Language code: ListPlot[Highlighted[{...}, Placed["Ball", 7]]]

Highlight multiple points:

Wolfram Language code: ListPlot[Highlighted[{...}, Placed["Ball", {{7}, {17}}]]]

Presentation  (18)

Multiple datasets are automatically colored to be distinct:

Wolfram Language code: data = Table[Table[{x, f}, {x, 0, 2Pi, 0.1}], {f, {Sin[x], Sin[2x]}}];
Wolfram Language code: ListPlot[data]

Provide explicit styling to different sets:

Wolfram Language code: data = Table[Table[{x, f}, {x, 0, 2Pi, 0.1}], {f, {Sin[x], Sin[2x]}}];
Wolfram Language code: ListPlot[data, PlotStyle -> {Blue, Red}]

Use a plot theme:

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

Label data with Callout:

Wolfram Language code: ListPlot[Table[Callout[Table[{x, f}, {x, 0, 2Pi, 0.1}], f], {f, {Sin[x], Sin[2x]}}]]

Include legends for each curve:

Wolfram Language code: data = Table[Table[{x, f}, {x, 0, 2Pi, 0.1}], {f, {Sin[x], Sin[2x]}}];
Wolfram Language code: ListPlot[data, PlotLegends -> {Sin[x], Sin[2x]}]

Use Legended to provide a legend for a specific dataset:

Wolfram Language code: upper = RandomReal[{1.5, 2}, 50]; lower = RandomReal[0.5, 50];
Wolfram Language code: ListPlot[{lower, Legended[Mean[{lower, upper}], "average"], upper}]

Add labels:

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

Provide an interactive Tooltip for the data:

Wolfram Language code: ListPlot[Tooltip[Table[If[PrimeQ[x], Tooltip[x, Row[{"prime: ", x}]], x], {x, 1, 25}]], PlotStyle -> Directive[PointSize[Medium], Orange]]
Wolfram Language code: ListPlot[{Tooltip[(3 / 2) ^ Range[15], TraditionalForm[(3 / 2) ^ k]], Tooltip[Fibonacci[Range[15]], TraditionalForm[Fibonacci[k]]]}, PlotStyle -> PointSize[Medium]]

Create filled plots:

Wolfram Language code: 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:

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

Use labels to distinguish different datasets:

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

Use Joined to connect datasets with lines:

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

ListPlot uses date information in TimeSeries for the axis and frame automatically:

Wolfram Language code: data = WeatherData["Chicago", "Temperature", {2021, 8}]
Wolfram Language code: ListPlot[data, Joined -> True, AxesLabel -> Automatic]

Use InterpolationOrder to smooth joined data:

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

Show multiple sets in a row of separate panels:

Wolfram Language code: ListPlot[{IconizedObject[«[image]»], IconizedObject[«[image]»]}, PlotLayout -> "Row", AspectRatio -> 1, PlotStyle -> AbsolutePointSize[2]]

Use a column instead of a row:

Wolfram Language code: ListPlot[{IconizedObject[«[image]»], IconizedObject[«[image]»]}, PlotLayout -> "Column", AspectRatio -> 1, PlotStyle -> AbsolutePointSize[2]]

Use multiple rows or columns:

Wolfram Language code: ListPlot[{IconizedObject[«[image]»], IconizedObject[«[image]»], IconizedObject[«[image]»], IconizedObject[«[image]»]}, PlotLayout -> {"Row", 2}, AspectRatio -> 1, PlotStyle -> AbsolutePointSize[2]]

Plot the data in a stacked layout:

Wolfram Language code: 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}};
Wolfram Language code: ListPlot[data, PlotLayout -> "Stacked", Joined -> True]

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

Wolfram Language code: ListPlot[data, PlotLayout -> "Percentile", Joined -> True]

Use different axes for the different items:

Wolfram Language code: ListPlot[{Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> All]

Specify where the axes should be placed:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> {Right -> {1, 2}, Left -> 3}]

Place shared axes as well:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> {Right -> {{1, 2}}, Left -> 3}]

Options  (175)

ClippingStyle  (6)

ClippingStyle requires at least one dataset to be Joined:

Wolfram Language code: {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:

Wolfram Language code: 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:

Wolfram Language code: 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:

Wolfram Language code: 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:

Wolfram Language code: 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:

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

ColorFunction  (6)

Use a color function to color points by their values:

Wolfram Language code: ListPlot[Sinc[Range[0, 10, 0.2]], ColorFunction -> "Rainbow"]

Color by scaled and coordinates:

Wolfram Language code: Table[ListPlot[Sinc[Range[0, 10, 0.2]], ColorFunction -> f, PlotLabel -> f[x, y], PlotStyle -> Thick], {f, {Hue[#]&, Hue[#2]&}}]

Color with a named color scheme:

Wolfram Language code: ListPlot[Sinc[Range[0, 10, 0.2]], ColorFunction -> "DarkRainbow"]

Fill with the color used for the curve:

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

ColorFunction has higher priority than PlotStyle for coloring the curve:

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

Use Automatic in MeshShading to use ColorFunction:

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

ColorFunctionScaling  (2)

Color the line based on the scaled value:

Wolfram Language code: 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 value:

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

DataRange  (5)

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

Wolfram Language code: ListPlot[Table[Sin[x], {x, 0, 2Pi, 0.1}]]

Rescale to the sampling space:

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

Each dataset is scaled to the same domain:

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

Pairs are interpreted as , coordinates:

Wolfram Language code: ListPlot[Table[{i + 10, i}, {i, 25}], AxesOrigin -> {0, 0}]

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

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

Force interpretation as multiple datasets:

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

Filling  (8)

Use symbolic or explicit values for "stem" filling:

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

Fill between corresponding points in two datasets:

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

Fill between datasets using a particular style:

Wolfram Language code: 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:

Wolfram Language code: data1 = Sqrt[Range[40]] - 2; data2 = Log[Range[40]];
Wolfram Language code: ListPlot[{data1, data2}, Filling -> {1 -> {{2}, {Red, Blue}}}]

Fill to the axis for irregularly sampled data:

Wolfram Language code: data = Last[Reap[Plot[Sin[x], {x, 0, 2Pi}, EvaluationMonitor :> Sow[{x, Sin[x]}]]]];
Wolfram Language code: ListPlot[data, Filling -> Axis]

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

Wolfram Language code: 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]}]]]];
Wolfram Language code: ListPlot[{Sort@data1, Sort@data2}, Filling -> {1 -> {2}}]

Joined datasets fill with solid areas:

Wolfram Language code: 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:

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

FillingStyle  (4)

Fill with blue "stems":

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

Fill with dashed magenta "stems":

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

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

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

Filling is solid when Joined->True:

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

Frame  (3)

Draw a frame around the plot:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True]

Draw a frame on the left and right edges:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> {{True, True}, {False, False}}]

Draw a frame on the left and bottom edges:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> {{True, False}, {True, False}}]

FrameLabel  (4)

Place a label along the bottom frame of a plot:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameLabel -> {"label"}]

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameLabel -> {"bottom", "left"}]

Place labels on each of the edges in the frame:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}]

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameLabel -> {{x, x2}, {y, y2}}, LabelStyle -> Directive[Bold, StandardGray]]

FrameStyle  (2)

Specify the style of the frame:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameStyle -> Directive[StandardGray, Thick]]

Specify the style for each frame edge:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameStyle -> {{Directive[Green, Thick], Red}, {Directive[Gray, Thick], Blue}}]

FrameTicks  (9)

Frame ticks are placed automatically by default:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True]

Use a frame with no ticks:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 30}], Frame -> True, FrameTicks -> None]

Use frame ticks on the bottom edge:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> {{None, None}, {Automatic, None}}]

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> Automatic]

Use All to include tick labels on all edges:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> All]

Place tick marks at specific positions:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> {{{-1, 0, 1}, {-1, 0, 1}}, {{0, 180, 360 }, {0, 180, 360 }}}]

Draw frame tick marks at specified positions with specific labels:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> {{{{-1, -a}, {0, 0}, {1, a}}, {-1, 0, 1}}, {{{0, 0}, {180, b}, {360, c} }, {0, 180, 360 }}}]

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Joined -> True, Frame -> {{True, True}, {True, True}}, FrameTicks -> {{Automatic, Automatic}, {{{50, a, .1}, {180, b, .1}, {300, c, .1} }, Automatic}}]

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> {{Automatic, Automatic}, {{{50, a, 0.1}, {180, b, 0.1}, {300, c, 0.1} }, {{50, a, {0.2, 0.1}}, {180, b, {0.2, 0.1}}, {300, c, {0.2, 0.1}} }}}]

Specify a style for each frame tick:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> {{Automatic, Automatic}, {{{50, a, 0.1, Red}, {180, b, 0.1, Blue}, {300, c, 0.1, Darker@Green} }, Automatic}}]

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

Wolfram Language code: minMeanMax[min_, max_] := {{min, min}, {(max + min) / 2, (max + min) / 2}, {max, max}}
Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, Joined -> True, FrameTicks -> {{minMeanMax, None}, {minMeanMax, None}}, PlotRangePadding -> None]

FrameTicksStyle  (3)

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Joined -> True, Frame -> True, FrameStyle -> Directive[Red]]

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

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameStyle -> Red, FrameTicksStyle -> Directive[Blue, Thick]]

Use different style for the different frame edges:

Wolfram Language code: ListPlot[Table[ Sin[x], {x, 0, 2 Pi, Pi / 180}], Frame -> True, FrameTicks -> All, FrameTicksStyle -> {{Purple, Blue}, {Thick, Red}}]

ImageSize  (1)

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

Wolfram Language code: data = RandomReal[10, {100, 2}] -> Range[100];
Wolfram Language code: ListPlot[data, ImageSize -> Medium]

Smaller graphics will have fewer labeled points:

Wolfram Language code: ListPlot[data, ImageSize -> 200]

Larger graphics will have more labeled points:

Wolfram Language code: ListPlot[data, ImageSize -> 500]

InterpolationOrder  (5)

Joined lines can be interpolated:

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

By default, linear interpolation is used:

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

Use zero-order or piecewise-constant interpolation:

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

Use third-order spline interpolation:

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

Interpolation order 0 to 5:

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

IntervalMarkers  (3)

By default, uncertainties are capped:

Wolfram Language code: ListPlot[Table[Around[RandomReal[], RandomReal[.1]], 10]]

Use bars to denote uncertainties without caps:

Wolfram Language code: ListPlot[Table[Around[RandomReal[], RandomReal[.1]], 10], IntervalMarkers -> "Bars"]

Use bands to represent uncertainties:

Wolfram Language code: ListPlot[Table[Around[RandomReal[], RandomReal[.1]], 10], IntervalMarkers -> "Bands"]

IntervalMarkersStyle  (2)

Uncertainties automatically inherit the plot style:

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

Specify the style for uncertainties:

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

Joined  (4)

Join the dataset with a line:

Wolfram Language code: ListPlot[Table[Prime[n], {n, 20}], Joined -> True]

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

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

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

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

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

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

LabelingFunction  (6)

By default, points are automatically labeled with strings:

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

Use LabelingFunction->None to suppress the labels:

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

Put the labels above the points:

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

Put them in a tooltip:

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

Use callouts to label the points:

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

Label the points with their values:

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

Label the points with their indices:

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

LabelingSize  (4)

Textual labels are shown at their actual sizes:

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

Image labels are automatically resized:

Wolfram Language code: ListPlot[{1, 1, 2, 3, 5, 8} -> {[image], [image], [image], [image], [image], [image]}, ImageSize -> Medium]

Specify a maximum size for textual labels:

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

Specify a maximum size for image labels:

Wolfram Language code: ListPlot[{1, 1, 2, 3, 5, 8} -> {[image], [image], [image], [image], [image], [image]}, ImageSize -> Medium, LabelingSize -> 20]

Show image labels at their natural sizes:

Wolfram Language code: ListPlot[{1, 1, 2, 3, 5, 8} -> {[image], [image], [image], [image], [image], [image]}, ImageSize -> Medium, LabelingSize -> Full]

LabelingTarget  (7)

Labels are automatically placed to maximize readability:

Wolfram Language code: ListPlot[IconizedObject[«data»]]

Show all labels:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> All]

Use a denser layout for the labels:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> "Dense"]

Show the quarter of the labels that are easiest to read:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> 0.25]

Only allow labels that are orthogonal to the points:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> <|"AllowedLabelingPositions" -> "Sides"|>]

Only allow labels that are diagonal to the points:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> <|"AllowedLabelingPositions" -> "Corners"|>]

Restrict labels to be above or to the right of the points:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> <|"AllowedLabelingPositions" -> {"Right", "Top"}|>]

Allow labels to obscure other points:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> <|"AllowedOverlaps" -> {"Points"}|>]

Allow labels to be clipped by the edges of the plot:

Wolfram Language code: ListPlot[IconizedObject[«data»], LabelingTarget -> <|"AllowLabelClipping" -> True|>]

MaxPlotPoints  (1)

Specify the number of points to use for the plot:

Wolfram Language code: Table[ListPlot[Table[{n, Sin[2Pi n / 10]}, {n, 100.}], MaxPlotPoints -> mp, Joined -> True], {mp, {Infinity, 50, 30}}]
Wolfram Language code: Table[ListPlot[Table[{Sqrt[n]Cos[n / 5], Sqrt[n]Sin[n / 5]}, {n, 100.}], MaxPlotPoints -> mp, Joined -> True], {mp, {Infinity, 50, 30}}]

Mesh  (6)

Mesh requires at least one dataset to be Joined:

Wolfram Language code: {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:

Wolfram Language code: {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:

Wolfram Language code: {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 direction:

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

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

Wolfram Language code: 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:

Wolfram Language code: 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]

MeshFunctions  (3)

MeshFunctions requires at least one dataset to be Joined:

Wolfram Language code: {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 and directions:

Wolfram Language code: 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 direction (red) and 10 in the direction (blue):

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

MeshShading  (7)

MeshShading requires at least one dataset to be Joined:

Wolfram Language code: {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 direction:

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

Use None to remove segments:

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

MeshShading can be used with PlotStyle:

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

MeshShading has higher priority than PlotStyle for styling the curve:

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

Use PlotStyle for some segments by setting MeshShading to Automatic:

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

MeshShading can be used with ColorFunction:

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

MultiaxisArrangement  (5)

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

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]]}]

Use different axes for the different items:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]]}, MultiaxisArrangement -> All]

Any number of axes can be used:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> All]

Have the first and second curves share an axis:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> {{1, 2}, 3}]

Specify where the axes should be placed:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> {Right -> {1, 2}, Left -> 3}]

Place shared axes as well:

Wolfram Language code: ListPlot[{Range[10], Prime[Range[10]], Range[10] ^ 2}, MultiaxisArrangement -> {Right -> {{1, 2}}, Left -> 3}]

PlotFit  (4)

Automatically fit a model to the data:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> Automatic]

Fit a straight line to the data:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> "Linear"]

Fit a quadratic curve to the data:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> "Quadratic"]

Use PowerModel to approximate the data:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> PowerModel[]]

PlotFitElements  (3)

By default, the fitted model is shown with the data:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> Automatic]

Plot confidence bands for the data, with a default confidence level of 0.95:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> Automatic, PlotFitElements -> "BandCurves"]

Use a confidence level of 0.5 for the bands:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> Automatic, PlotFitElements -> {"BandCurves", <|"ConfidenceLevel" -> 0.5|>}]

Show residual lines from the data points to the fitted curve when the points are not joined:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> Automatic, PlotFitElements -> "Residuals"]

Combine the original points with red residual lines:

Wolfram Language code: ListPlot[IconizedObject[«data»], PlotFit -> Automatic, PlotFitElements -> {"DataPoints", {"Residuals", <|"Style" -> Opacity[1, StandardRed]|>}}]

PlotHighlighting  (9)

Plots have interactive coordinate callouts with the default setting PlotHighlightingAutomatic:

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}]

Use PlotHighlightingNone to disable the highlighting for the entire plot:

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> None]

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

Wolfram Language code: ListPlot[{IconizedObject[«primes»], Highlighted[IconizedObject[«squares»], None]}]

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

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> Directive[Red, AbsolutePointSize[10], DropShadowing[]]]

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

Wolfram Language code: ListPlot[IconizedObject[«primes»], PlotHighlighting -> "Dropline"]

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

Wolfram Language code: ListPlot[Highlighted[IconizedObject[«primes»], Placed["Dropline", {{7}, {15}}]]]

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

Wolfram Language code: ListPlot[IconizedObject[«primes»], PlotHighlighting -> "Dropline"]

Use a ball and label to highlight a specific point in the plot:

Wolfram Language code: ListPlot[Highlighted[IconizedObject[«primes»], Placed["Dropline", 16]]]

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

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> "XSlice"]

Highlight a particular set of points at a fixed value:

Wolfram Language code: ListPlot[{Highlighted[IconizedObject[«primes»], Placed["XSlice", 17]], IconizedObject[«squares»]}]

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

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> "YSlice"]

Highlight the curves at a fixed value:

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> Placed["YSlice", 250]]

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

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> "XNearestPoint"]

Specify the style for the points:

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> {"XNearestPoint", <|"Style" -> Red|>}]

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

Wolfram Language code: ListPlot[{IconizedObject[«primes»], IconizedObject[«squares»]}, PlotHighlighting -> "XYLabel"]

Use Callout options to change the appearance of the label:

Wolfram Language code: ListPlot[IconizedObject[«primes»], PlotHighlighting -> {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}]

Combine components to create a custom effect:

Wolfram Language code: ListPlot[IconizedObject[«primes»], PlotHighlighting -> {{"XNearestPoint", <|"Style" -> Red|>}, {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}}]

PlotInteractivity  (3)

Plots have interactive highlighting by default:

Wolfram Language code: ListPlot[{2, 3, 5, 7, 11, 13, 17, 19, 23, 29}]

Turn off all the interactive elements:

Wolfram Language code: ListPlot[{2, 3, 5, 7, 11, 13, 17, 19, 23, 29}, PlotInteractivity -> False]

Allow provided interactive elements and disable automatic ones:

Wolfram Language code: ListPlot[{2, 3, 5, 7, 11, 13, 17, 19, 23, Tooltip[29, "hello"]}, PlotInteractivity -> <|"User" -> True, "System" -> False|>]

PlotLabel  (1)

Add an overall label to the plot:

Wolfram Language code: ListPlot[Prime[Range[100]], PlotLabel -> "prime numbers"]

PlotLabels  (7)

Specify text to label sets of points:

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

Use an Association form to specify labels:

Wolfram Language code: ListPlot[{Sin[Range[0, 2Pi, 0.1]], Cos[Range[0, 2Pi, 0.1]]}, PlotLabels -> <|"Lists" -> {"sine", "cosine"}|>]

Place the labels above the points:

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

Use callouts to identify the points:

Wolfram Language code: 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 Association as labels:

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

Use None to not add a label:

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

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

Wolfram Language code: data1 = Table[{Cos[x], Sin[x]}, {x, 0, 2Pi, 0.1}];
Wolfram Language code: data2 = Table[{Cos[x], Sin[3x]}, {x, 0, 2Pi, 0.1}];
Wolfram Language code: ListPlot[{data1, data2}, Joined -> True, PlotLabels -> Callout[{"label1", "label2"}, After]]

PlotLayout  (3)

By default, curves are overlaid on each other:

Wolfram Language code: 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}};
Wolfram Language code: ListPlot[data, Joined -> True]

Plot the data in a stacked layout:

Wolfram Language code: ListPlot[data, PlotLayout -> "Stacked", Joined -> True]

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

Wolfram Language code: ListPlot[data, PlotLayout -> "Percentile", Joined -> True]

Place each curve in a separate panel using shared axes:

Wolfram Language code: ListPlot[data, PlotLayout -> "Column", Joined -> True, ImageSize -> Medium]

Use rows instead of columns:

Wolfram Language code: ListPlot[data, PlotLayout -> "Row", Joined -> True, ImageSize -> Medium]

Use multiple columns or rows:

Wolfram Language code: ListPlot[IconizedObject[«data»], ImageSize -> Medium, Joined -> True, PlotLayout -> {"Column", 4}]

Prefer full columns or rows:

Wolfram Language code: ListPlot[IconizedObject[«data»], ImageSize -> Medium, Joined -> True, PlotLayout -> {"Column", UpTo[4]}]

Label the individual panels:

Wolfram Language code: ListPlot[{{...}, {...}}, PlotLayout -> "Row", PlotLabels -> {"First", "Second"}, Filling -> Bottom]

PlotLegends  (8)

No legend is used, by default:

Wolfram Language code: ListPlot[{Sqrt[Range[40]], Log[Range[40]]}]

Generate a legend using labels:

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

Use an Association form to specify legends:

Wolfram Language code: ListPlot[{Sqrt[Range[40]], Log[Range[40]]}, PlotLegends -> <|"Lists" -> {"sqrt", "log"}|>]

Generate a legend using placeholders:

Wolfram Language code: ListPlot[{Sqrt[Range[40]], Log[Range[40]]}, PlotLegends -> Automatic]

Legends use the same styles as the plot:

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

Use Placed to specify the legend placement:

Wolfram Language code: 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:

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

Use PointLegend to change the legend appearance:

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

PlotMarkers  (8)

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

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

Automatically use colors and shapes to distinguish sets of data:

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

Use shapes only:

Wolfram Language code: ListPlot[Table[n ^ (1 / p), {p, 4}, {n, 10}], PlotMarkers -> Automatic, PlotStyle -> StandardBlue]

Change the size of the default plot markers:

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

Use arbitrary text for plot markers:

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

Use explicit graphics for plot markers:

Wolfram Language code: {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}}]}
Wolfram Language code: 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:

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

Explicitly use a symbol and size:

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

PlotRange  (2)

PlotRange is automatically calculated:

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

Show the whole dataset:

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

PlotStyle  (8)

Use different style directives:

Wolfram Language code: 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:

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

Explicitly specify the style for different datasets:

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

PlotStyle applies to both lines and points:

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

Use the association-based syntax to set a base style for all data:

Wolfram Language code: ListPlot[{IconizedObject[«p»], IconizedObject[«p^2»], IconizedObject[«p^3»]}, PlotStyle -> <|"Base" -> PointSize[Large]|>]

Use a different style for each of the datasets:

Wolfram Language code: ListPlot[{IconizedObject[«p»], IconizedObject[«p^2»], IconizedObject[«p^3»]}, PlotStyle -> <|"Lists" -> {RGBColor[0.14, 0.8, 0.14], RGBColor[0.93, 0.27, 0.27], RGBColor[0.4, 0.6, 1]}|>]

Provide an overall base style as well as styles for each dataset:

Wolfram Language code: ListPlot[{IconizedObject[«p»], IconizedObject[«p^2»], IconizedObject[«p^3»]}, PlotStyle -> <|"Base" -> PointSize[Large], "Lists" -> {RGBColor[0.14, 0.8, 0.14], RGBColor[0.93, 0.27, 0.27], RGBColor[0.4, 0.6, 1]}|>]

PlotStyle can be combined with ColorFunction:

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

PlotStyle can be combined with MeshShading:

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

MeshStyle by default uses the same style as PlotStyle:

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

PlotTheme  (2)

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

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

Change the color scheme:

Wolfram Language code: ListPlot[{Table[Sin[x], {x, 0, 2Pi, 0.1}], Table[Cos[x], {x, 0, 2Pi, 0.1}]}, PlotTheme -> "Business", PlotStyle -> {StandardBlue, StandardGreen}]

ScalingFunctions  (9)

By default, plots have linear scales in each direction:

Wolfram Language code: ListPlot[{1, 5, 10, 35, 60, 75, 140}]

Use a log scale in the direction:

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

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

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

Use a reciprocal scale in the direction:

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

Use different scales in the and directions:

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

Reverse the axis without changing the axis:

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

Use a scale defined by a function and its inverse:

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

Positions in Ticks and GridLines are automatically scaled:

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

PlotRange and AxesOrigin are automatically scaled:

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

TargetUnits  (2)

Automatically detect units:

Wolfram Language code: ListPlot[Quantity[Range[10], "Hours"]]

Specify alternate units:

Wolfram Language code: ListPlot[Quantity[Range[10], "Hours"], TargetUnits -> "Minutes"]

Applications  (9)

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

Wolfram Language code: ListPlot[{Table[Prime[n], {n, 80}], Table[n Log[n], {n, 80}]}]

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

Wolfram Language code: 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:

Wolfram Language code: 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:

Wolfram Language code: ListPlot[Table[Tooltip[{CountryData[c, "BirthRateFraction"], CountryData[c, "LifeExpectancy"]}, c], {c, CountryData["Countries"]}]]

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

Wolfram Language code: ListPlot[Table[{ElementData[z, "AbsoluteBoilingPoint"], ElementData[z, "VaporizationHeat"]}, {z, 118}]]

Plot a discrete-time signal and its spectrum:

Wolfram Language code: signal = Table[Mod[i / 2, 10] / 10, {i, 100}];
Wolfram Language code: {ListPlot[signal, Filling -> Axis], ListPlot[Abs[Fourier[signal]], DataRange -> {0, 2Pi}, Filling -> Axis, PlotRange -> All]}

Plot the probability mass function for a distribution:

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

Plot the empirical probability mass function:

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

Plot a solution sequence to a difference equation:

Wolfram Language code: RSolve[x[n + 1] == 4x[n](1 - x[n]) && x[0] == 1 / 10, x, n]//Quiet
Wolfram Language code: ListPlot[Table[Evaluate[x[n] /. First[%]], {n, 0, 100}], Filling -> Axis]

Plot randomly sampled properties:

Wolfram Language code: data = RandomReal[{-1, 1}, {1000, 2}];
Wolfram Language code: Table[ListPlot[Cases[data, p_ /; Norm[p, n] < 1], AspectRatio -> Automatic], {n, {1, 2, 3}}]

Plot uncertainties in the mass and radius of exoplanets:

Wolfram Language code: rmdata = EntityValue["Exoplanet", {EntityProperty["Exoplanet", "Mass", {"Uncertainty" -> "Around"}], EntityProperty["Exoplanet", "Radius", {"Uncertainty" -> "Around"}]}];
Wolfram Language code: rmdata = DeleteMissing[rmdata, 1, 2];
Wolfram Language code: ListPlot[rmdata, ...]

Properties & Relations  (14)

By default pairs are interpreted as values:

Wolfram Language code: ListPlot[{{1, 2}, {3, 6}, {7, 5}}]

Interpret the data as multiple datai:

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

ListLinePlot is a special case of ListPlot:

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

Use Plot for functions:

Wolfram Language code: {Plot[Sin[x ^ 2], {x, 0, 5}], ListLinePlot[Table[{x, Sin[x ^ 2]}, {x, 0, 5, 0.1}]]}

Use ListLogPlot, ListLogLogPlot, and ListLogLinearPlot for logarithmic plots:

Wolfram Language code: ListLogPlot[Table[Binomial[25, k], {k, 0, 25}], Joined -> True]

Use ListPolarPlot for polar plots:

Wolfram Language code: ListPolarPlot[Table[{x, Sqrt[x]}, {x, 0, 2Pi, 0.1}]]

Use DateListPlot to show data over time:

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

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

Wolfram Language code: data = RandomComplex[{-10 - 10I, 10 + 10I}, 100];
Wolfram Language code: ComplexListPlot[data]
Wolfram Language code: ListPlot[ReIm[data]]

Use ListPointPlot3D to show three-dimensional points:

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

Use ListLinePlot3D to plot curves through lists of points:

Wolfram Language code: ListLinePlot3D[Table[{Cos[t], Sin[t], Sin[5t]}, {t, 0, 2Pi, 0.1}]]

Plot curves through rows of heights in a table:

Wolfram Language code: ListLinePlot3D[Table[Sin[j ^ 2 + i], {i, 0, 3, 0.25}, {j, 0, 3, 0.1}]]

Use ListPlot3D to create surfaces from data:

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

Use ListContourPlot to create contours from continuous data:

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

Use ListDensityPlot to create densities from continuous data:

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

Use ArrayPlot and MatrixPlot for arrays of discrete values:

Wolfram Language code: ArrayPlot[Table[GCD[i, j], {i, 1, 20}, {j, 1, 20}]]

Use ParametricPlot for parametric curves:

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

See Also

ListLinePlot  DiscretePlot  Plot  ListLogPlot  DateListPlot  ListPolarPlot  StackedListPlot  ListPointPlot3D  ListLinePlot3D  ListPlot3D  NumberLinePlot  Graphics  Point  Fit

Function Repository: MultipleAxesListPlot

Tech Notes

    ▪
  • Plotting Lists of Data

Related Guides

    ▪
  • Data Visualization
  • ▪
  • GPU Computing
  • ▪
  • Numbers with Uncertainty
  • ▪
  • Tabular Visualization
  • ▪
  • Discrete Calculus
  • ▪
  • Charting and Information Visualization
  • ▪
  • Scientific Data Analysis
  • ▪
  • Tabular Processing Overview
  • ▪
  • Tabular Communication
  • ▪
  • Signal Visualization & Analysis
  • ▪
  • Handling Arrays of Data
  • ▪
  • GPU Computing with NVIDIA
  • ▪
  • GPU Computing with Apple
  • ▪
  • Statistical Visualization
  • ▪
  • Numerical Data
  • ▪
  • Financial Visualization
  • ▪
  • Function Visualization
  • ▪
  • Associations
  • ▪
  • Spatial Point Collections
  • ▪
  • Date & Time Visualization
  • ▪
  • Probability & Statistics with Quantities
  • ▪
  • Event Series Processing
  • ▪
  • Event Series Processing
  • ▪
  • Audio Representation

Related Workflows

    Related Workflows
    ▪
  • Change the Style of Points in a 2D Scatter Plot

Related Links

  • Fast Introduction for Programmers: Graphics
  • An Elementary Introduction to the Wolfram Language : First Look at Lists
  • An Elementary Introduction to the Wolfram Language : Coordinates and Graphics

History

Introduced in 1988 (1.0) | Updated in 2007 (6.0) ▪ 2008 (7.0) ▪ 2012 (9.0) ▪ 2014 (10.0) ▪ 2016 (10.4) ▪ 2016 (11.0) ▪ 2018 (11.3) ▪ 2019 (12.0) ▪ 2021 (13.0) ▪ 2023 (13.3) ▪ 2025 (14.2) ▪ 2025 (14.3) ▪ 2026 (15.0)

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

Text

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

CMS

Wolfram Language. 1988. "ListPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. 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_2026_listplot, author="Wolfram Research", title="{ListPlot}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/ListPlot.html}", note=[Accessed: 01-September-2026]}

BibLaTeX

@online{reference.wolfram_2026_listplot, organization={Wolfram Research}, title={ListPlot}, year={2026}, url={https://reference.wolfram.com/language/ref/ListPlot.html}, note=[Accessed: 01-September-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • AI Access
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English