WOLFRAM

Enable JavaScript to interact with content and submit forms on Wolfram websites. Learn how
Wolfram Language & System Documentation Center

DateListPlot [{{date1,y1},{date2,y2},,{daten,yn}}]

plots points with values yi at a sequence of dates.

DateListPlot [{y1,y2,,yn},datespec]

plots points with dates at equal intervals specified by datespec.

DateListPlot [tseries]

plots the time series tseries.

DateListPlot [{data1,data2,}]

plots data from all the datai.

DateListPlot [{,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  
Data  
Special Data  
Tabular Data  
Wrappers  
Labeling and Legending  
Presentation  
Options  
AspectRatio  
Axes  
AxesLabel  
Show More Show More
AxesOrigin  
AxesStyle  
DateFunction  
DateTicksFormat  
Epilog  
Filling  
Frame  
FrameLabel  
FrameStyle  
FrameTicks  
FrameTicksStyle  
GridLines  
ImageSize  
IntervalMarkers  
IntervalMarkersStyle  
Joined  
LabelingFunction  
LabelingSize  
LabelingTarget  
PlotFit  
PlotFitElements  
PlotHighlighting  
PlotInteractivity  
PlotLabel  
PlotLabels  
PlotLayout  
PlotLegends  
PlotRange  
PlotStyle  
PlotTheme  
Prolog  
ScalingFunctions  
TargetUnits  
Ticks  
TicksStyle  
Applications  
Properties & Relations  
See Also
Related Guides
Related Links
History
Cite this Page

DateListPlot

DateListPlot [{{date1,y1},{date2,y2},,{daten,yn}}]

plots points with values yi at a sequence of dates.

DateListPlot [{y1,y2,,yn},datespec]

plots points with dates at equal intervals specified by datespec.

DateListPlot [tseries]

plots the time series tseries.

DateListPlot [{data1,data2,}]

plots data from all the datai.

DateListPlot [{,w[datai],}]

plots datai with features defined by the symbolic wrapper w.

Details and Options

Examples

open all close all

Basic Examples  (6)

Plot data with explicit date values:

Wolfram Language code: DateListPlot[{{DateObject[{2016, 10, 1}, "Day", "Gregorian", -5.], 10}, {DateObject[{2016, 10, 15}, "Day", "Gregorian", -5.], 17}, {DateObject[{2016, 10, 30}, "Day", "Gregorian", -5.], 15}, {DateObject[{2016, 11, 20}, "Day", "Gregorian", -5.], 20}}]

Plot monthly values, starting in August 2000:

Wolfram Language code: DateListPlot[{1, 1, 2, 3, 5, 8, 11}, DateObject[{2000, 8}, "Month"]]

Plot multiple time series with a legend:

Wolfram Language code: data1 = TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {DateObject[{2015, 1, 1}, "Day"]}]; data2 = TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {DateObject[{2015, 1, 1}, "Day"]}];
Wolfram Language code: DateListPlot[{data1, data2}, PlotLegends -> {"first", "second"}]

Add labels for the data:

Wolfram Language code: DateListPlot[{{4, 9, 18, 27, 34, 40, 49, 54, 64, 72}, {1, 9, 11, 16, 18, 25, 34, 43, 49, 54}}, DateObject[{2025, 1, 1}, "Day"], PlotLabels -> {"first", "second"}]

Plot an individual component from a time series:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> True, "Count" -> 10, "Endpoints" -> TabularColumn[Association[ "Data" -> {2, {{NumericArray[{15706, -2147483648}, "Integer32"], {}, DataStructure["BitVe ... 7, 34, 40, 49, 54, 64, 72}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association[ "Data" -> {{1, 9, 11, 16, 18, 25, 34, 43, 49, 54}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]] -> "a", PlotLabels -> Automatic]

Retrieve and plot a historical stock price:

Wolfram Language code: DateListPlot[FinancialData["IBM", DateObject[{2024, 1, 1}, "Day"]]]

Scope  (49)

Data  (11)

Plot a time series of temperatures:

Wolfram Language code: data = WeatherData["KCMI", "MeanTemperature", {{2013, 1, 1}, {2013, 1, 31}, "Day"}]
Wolfram Language code: DateListPlot[data, FrameLabel -> Automatic, TargetUnits -> "Fahrenheit"]

Plot all the data in TimeSeries or EventSeries :

Wolfram Language code: DateListPlot[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: DateListPlot[trees -> "tree 1"]

Plot multiple components:

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

Dates given as AbsoluteTime specifications:

Wolfram Language code: data = {{3368649600, 10}, {3369859200, 12}, {3371155200, 15}, {3372969600, 20}};
Wolfram Language code: DateListPlot[data]

Dates given as DateString specifications:

Wolfram Language code: data = {{"June 2006", 10}, {"August 2006", 12}, {"November 2006", 15}, {"January 2007", 20}};
Wolfram Language code: DateListPlot[data]

Dates given as elided DateList specifications:

Wolfram Language code: data = {{{2006, 6}, 10}, {{2006, 8}, 12}, {{2006, 11}, 15}, {{2007, 1}, 20}};
Wolfram Language code: DateListPlot[data]

Plot a series of data using an initial starting date or time:

Wolfram Language code: DateListPlot[Sin[Range[100] / (2Pi)], "August 15, 2006"]
Wolfram Language code: DateListPlot[Sin[Range[100] / (2Pi)], {2006, 8, 15, 12, 15, 0}]

Plot data spaced equally in time between a starting and ending date:

Wolfram Language code: DateListPlot[Sqrt[Range[10]], {{2006, 5, 5}, {2006, 5, 30}}]

Plot data gathered every 90 days, starting on January 1, 2006:

Wolfram Language code: DateListPlot[Range[10], {{2006, 1, 1}, Automatic, {0, 0, 90}}]

Plot data gathered on the 15^(th) day of each month, starting in January:

Wolfram Language code: DateListPlot[Range[10], {{2006, 1, 15}, Automatic, "Month"}]

Dates determined by an ending date and a step:

Wolfram Language code: DateListPlot[ArcTan[Range[50] / 5], {Automatic, "September 2010", "Month"}]

Use ScalingFunctions to scale the axes:

Wolfram Language code: DateListPlot[FinancialData["IBM", "Jan. 1, 2010"], ScalingFunctions -> "Log"]

Special Data  (4)

Use Quantity to include units with the data:

Wolfram Language code: DateListPlot[Quantity[Sqrt[Range[10]], "Meters"], {2010, 1, 1}, FrameLabel -> Automatic]

Plot data in a QuantityArray :

Wolfram Language code: qa = QuantityArray[RandomReal[{0, 40}, 20], "Fahrenheit"]
Wolfram Language code: DateListPlot[qa, {2000, 1, 1}, FrameLabel -> Automatic]

Specify the units used with TargetUnits :

Wolfram Language code: DateListPlot[qa, {2000, 1, 1}, TargetUnits -> "Kelvin", FrameLabel -> Automatic]

Numeric values in an Association are used as the coordinates:

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

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

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

Plot data with uncertainty:

Wolfram Language code: DateListPlot[Table[Around[n, RandomReal[1, 2]], {n, 10}], {2010, 1, 1}]

Use intervals:

Wolfram Language code: DateListPlot[Table[Interval[RandomReal[{n - 1, n + 1}, 2]], {n, 10}], {2010, 1, 1}]
Wolfram Language code: DateListPlot[Table[Interval[RandomReal[{n - 1, n + 1}, 2]], {n, 10}], {2010, 1, 1}, IntervalMarkers -> "Bands"]

Tabular Data  (1)

Get tabular data for historical populations of several countries:

Wolfram Language code: tab = Tabular[IconizedObject[«Country populations»]]

Plot the population of France from 1940 to 2020:

Wolfram Language code: DateListPlot[tab -> {"Date", "France"}]

Plot the populations of France, Germany and Australia:

Wolfram Language code: DateListPlot[tab -> {{"Date", "France"}, {"Date", "Germany"}, {"Date", "Australia"}}]

Include legends for the plot, using the column names:

Wolfram Language code: DateListPlot[tab -> {{"Date", "France"}, {"Date", "Germany"}, {"Date", "Australia"}}, PlotLegends -> {"France", "Germany", "Australia"}]

Wrappers  (8)

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

Wolfram Language code: {DateListPlot[{Style[{1, 1, 2, 3, 5, 8}, Green], {2, 3, 5, 7, 11}}, {2014, 8}], DateListPlot[Style[{{1, 1, 2, 3, 5, 8}, {2, 3, 5, 7, 11}}, Blue], {2014, 8}]}

Wrappers can be nested:

Wolfram Language code: DateListPlot[Style[{Style[{1, 1, 2, 3, 5, 8}, Green], {2, 3, 5, 7, 11}}, Blue], {2014, 8}]

Use the value of each point as a tooltip:

Wolfram Language code: DateListPlot[Tooltip[Prime[Range[10]]], {2014, 8}, Mesh -> Full]

Use a specific label for all the points:

Wolfram Language code: DateListPlot[Tooltip[Prime[Range[10]], "primes"], {2014, 8}, Mesh -> Full]

Use PopupWindow to provide additional drilldown information:

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

Button can be used to trigger any action:

Wolfram Language code: DateListPlot[{1, Button[2, Speak[2]], 3}, {2014, 8}, Mesh -> Full, PlotStyle -> PointSize[0.05]]

Use Annotation for dynamic action when the mouse enters the plot:

Wolfram Language code: data = TemporalData[TimeSeries, {{{7, 12, 15, 20}}, {{{3368649600, 3369859200, 3371155200, 3372969600}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.2];
Wolfram Language code: {DateListPlot[Annotation[data, "label", "Mouse"]], Dynamic[MouseAnnotation[]]}

Use Hyperlink to jump to the specified link when clicked:

Wolfram Language code: data = TemporalData[TimeSeries, {{{7, 12, 15, 20}}, {{{3368649600, 3369859200, 3371155200, 3372969600}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.2];
Wolfram Language code: DateListPlot[Hyperlink[data, "http://www.wolfram.com"]]

Use StatusArea to display a string in the status area of the current notebook:

Wolfram Language code: data = TemporalData[TimeSeries, {{{7, 12, 15, 20}}, {{{3368649600, 3369859200, 3371155200, 3372969600}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.2];
Wolfram Language code: DateListPlot[StatusArea[data, "String"]]

Labeling and Legending  (16)

Label data with Labeled :

Wolfram Language code: data1 = Accumulate@RandomInteger[10, 10];data2 = Accumulate@RandomInteger[3, 10];
Wolfram Language code: DateListPlot[{Labeled[data1, "company1"], Labeled[data2, "company2"]}, {2010, 1, 1}]

Label points with automatically positioned text:

Wolfram Language code: DateListPlot[Table[Labeled[RandomReal[], i], {i, 15}], {2010, 1, 1}, PlotMarkers -> Automatic]

Place the labels relative to the points:

Wolfram Language code: Table[DateListPlot[Table[Labeled[RandomReal[], i, p], {i, 6}], {2010, 1, 1}, PlotMarkers -> Automatic, PlotLabel -> p], {p, {Above, Below, Before, After}}]

Label data with PlotLabels :

Wolfram Language code: data1 = Accumulate@RandomInteger[10, 10];data2 = Accumulate@RandomInteger[3, 10];
Wolfram Language code: DateListPlot[{data1, data2}, {2000}, PlotLabels -> {"company1", "company2"}]

Place the label near the points at a date:

Wolfram Language code: DateListPlot[Labeled[Accumulate@RandomInteger[10, 10], "label", {2004}], {2000}]

Use a scaled position:

Wolfram Language code: DateListPlot[Labeled[Accumulate@RandomInteger[10, 10], "label", Scaled[0.3]], {2000}]

Specify the text position relative to the point:

Wolfram Language code: DateListPlot[Labeled[Accumulate@RandomInteger[10, 10], "label", {Scaled[0.3], Below}], {2000}]

Include legends for each curve:

Wolfram Language code: data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];
Wolfram Language code: DateListPlot[{data1, data2}, {2000}, PlotLegends -> {"company1", "company2"}]

Use callouts to label curves:

Wolfram Language code: data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];
Wolfram Language code: DateListPlot[{Callout[data1, "company1"], Callout[data2, "company2"]}, {2000, 8}]

Place a callout at a named location:

Wolfram Language code: DateListPlot[{{1, 1, 2, 3, 5, 8, 11}, Callout[{4, 7, 8, 5, 3, 4, 1}, "max", Above]}, {2000, 8}]

Place a callout at a specific location:

Wolfram Language code: DateListPlot[Callout[{1, 1, 2, 3, 5, 8, 11}, "label", DateObject[{2000, 10, 1}, "Day", "Gregorian", -6.]], {2000, 8}]

Specify the maximum size of labels:

Wolfram Language code: data = Rule[TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], RandomWord[7]];
Wolfram Language code: DateListPlot[data, LabelingSize -> 30]

Use the full label:

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

Use Legended to provide a legend for a specific dataset:

Wolfram Language code: data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];
Wolfram Language code: DateListPlot[{data1, data2, Legended[data1 - data2, "difference"]}, {200}]

Use Placed to change the legend location:

Wolfram Language code: DateListPlot[{data1, data2, Legended[data1 - data2, Placed["difference", Bottom]]}, {200}]

Use Association keys as labels:

Wolfram Language code: data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];
Wolfram Language code: DateListPlot[<|"company A" -> data1, "company B" -> data2|>, {2000}, PlotLabels -> Automatic, PlotLegends -> None]

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

Wolfram Language code: DateListPlot[Range[10], {2007}]

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

Wolfram Language code: DateListPlot[Callout[Range[10], "hello", "01/01/2012"], {2007}]

Choose from multiple interactive highlighting effects:

Wolfram Language code: {DateListPlot[Range[10], {2007}, PlotHighlighting -> "Dropline"], DateListPlot[Range[10], {2007}, PlotHighlighting -> "XSlice"]}

Use Highlighted to emphasize specific points in a plot:

Wolfram Language code: DateListPlot[Highlighted[Range[10], Placed["Ball", DateObject[{2011, 1, 1}]]], {2007}]

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

Wolfram Language code: DateListPlot[{Range[10], Highlighted[2 * Range[10], None]}, {2007}]

Presentation  (9)

Multiple curves are automatically colored to be distinct:

Wolfram Language code: data = {TemporalData[TimeSeries, {{{0.001728865808273472, -0.01590632147490456, -0.0018485884757761806, 0.006648303196752581, -0.008821574894342765, -0.011374996477267585, 0.014105518254347471, -0.005791611372873207, -0.016712024386437596, 0.0442 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4], TemporalData[TimeSeries, {{{-0.012079959639636706, -0.00649603754683159, -0.0034615116740605023, 0.010034759075811639, -0.010470083438789857, 0.007954880980081347, -0.0021454152647096825, 0.015971751173178284, -0.004005729627509891, 0.017 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4]};
Wolfram Language code: DateListPlot[data]

Provide explicit styling to different curves:

Wolfram Language code: data = {TemporalData[TimeSeries, {{{0.001728865808273472, -0.01590632147490456, -0.0018485884757761806, 0.006648303196752581, -0.008821574894342765, -0.011374996477267585, 0.014105518254347471, -0.005791611372873207, -0.016712024386437596, 0.0442 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4], TemporalData[TimeSeries, {{{-0.012079959639636706, -0.00649603754683159, -0.0034615116740605023, 0.010034759075811639, -0.010470083438789857, 0.007954880980081347, -0.0021454152647096825, 0.015971751173178284, -0.004005729627509891, 0.017 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4]};
Wolfram Language code: DateListPlot[data, PlotStyle -> {Dashed, Red}]

Include legends for each dataset:

Wolfram Language code: DateListPlot[{FinancialData["AAPL", "FractionalChange", {{2010, 1}, {2010, 2}}], FinancialData["IBM", "FractionalChange", {{2010, 1}, {2010, 2}}]}, PlotLegends -> {"AAPL", "IBM"}]

Use Legended to provide a legend for a specific dataset:

Wolfram Language code: data = Accumulate[RandomInteger[{-10, 10}, 100]]; avg = MovingAverage[data, 10];
Wolfram Language code: DateListPlot[{data, Legended[avg, "moving average"]}, {{2013, 1, 1}, Automatic, "Day"}, Joined -> True]

Use a theme with detailed ticks and grid lines:

Wolfram Language code: data = {FinancialData["BAC", "FractionalChange", {{2014, 1}, {2014, 4}}], FinancialData["WFC", "FractionalChange", {{2014, 1}, {2014, 4}}]};
Wolfram Language code: DateListPlot[data, PlotTheme -> "Detailed"]

Use a more stylized theme:

Wolfram Language code: DateListPlot[data, PlotTheme -> "Marketing"]

Create filled plots:

Wolfram Language code: data = {TemporalData[TimeSeries, {{{0.001728865808273472, -0.01590632147490456, -0.0018485884757761806, 0.006648303196752581, -0.008821574894342765, -0.011374996477267585, 0.014105518254347471, -0.005791611372873207, -0.016712024386437596, 0.0442 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4], TemporalData[TimeSeries, {{{-0.012079959639636706, -0.00649603754683159, -0.0034615116740605023, 0.010034759075811639, -0.010470083438789857, 0.007954880980081347, -0.0021454152647096825, 0.015971751173178284, -0.004005729627509891, 0.017 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4]};
Wolfram Language code: DateListPlot[data, Filling -> Axis]

Fill between the curves:

Wolfram Language code: DateListPlot[data, Filling -> {1 -> {2}}]

Use shapes to distinguish different datasets:

Wolfram Language code: data = {TemporalData[TimeSeries, {{{0.001728865808273472, -0.01590632147490456, -0.0018485884757761806, 0.006648303196752581, -0.008821574894342765, -0.011374996477267585, 0.014105518254347471, -0.005791611372873207, -0.016712024386437596, 0.0442 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4], TemporalData[TimeSeries, {{{-0.012079959639636706, -0.00649603754683159, -0.0034615116740605023, 0.010034759075811639, -0.010470083438789857, 0.007954880980081347, -0.0021454152647096825, 0.015971751173178284, -0.004005729627509891, 0.017 ... , 3473452800, 3473539200, 3473625600, 3473712000, 3473971200}}}, 1, {"Continuous", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1, DateFunction -> Automatic, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, True, 10.4]};
Wolfram Language code: DateListPlot[data, Mesh -> Full, PlotMarkers -> Automatic]

Plot the data in a stacked layout:

Wolfram Language code: data1 = {{DateObject[{2016, 10, 1}, "Day", "Gregorian", -5.], 10}, {DateObject[{2016, 10, 15}, "Day", "Gregorian", -5.], 17}, {DateObject[{2016, 10, 30}, "Day", "Gregorian", -5.], 15}, {DateObject[{2016, 11, 20}, "Day", "Gregorian", -5.], 20}};
Wolfram Language code: data2 = {{DateObject[{2016, 10, 1}, "Day", "Gregorian", -5.], 15}, {DateObject[{2016, 10, 15}, "Day", "Gregorian", -5.], 7}, {DateObject[{2016, 10, 30}, "Day", "Gregorian", -5.], 12}, {DateObject[{2016, 11, 20}, "Day", "Gregorian", -5.], 10}};
Wolfram Language code: DateListPlot[{data1, data2}, PlotLayout -> "Stacked"]

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

Wolfram Language code: DateListPlot[{data1, data2}, PlotLayout -> "Percentile"]

Show multiple curves in a row of separate panels:

Wolfram Language code: DateListPlot[{IconizedObject[«Chicago»], IconizedObject[«Miami»]}, PlotLayout -> "Row"]

Use a column instead of a row:

Wolfram Language code: DateListPlot[{IconizedObject[«Chicago»], IconizedObject[«Miami»]}, PlotLayout -> "Column"]

Use multiple rows or columns:

Wolfram Language code: DateListPlot[{IconizedObject[«Chicago»], IconizedObject[«Miami»], IconizedObject[«Phoenix»], IconizedObject[«Boston»]}, PlotLayout -> {"Row", 2}, PlotLabels -> {Entity["City", {"Chicago", "Illinois", "UnitedStates"}], Entity["City", {"Miami", "Florida", "UnitedStates"}], Entity["City", {"Phoenix", "Arizona", "UnitedStates"}], Entity["City", {"Boston", "Massachusetts", "UnitedStates"}]}]

Options  (134)

AspectRatio  (3)

By default, DateListPlot uses a fixed height to width ratio for the plot:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: DateListPlot[data]

Use AspectRatio 1 to make the height the same as the width:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: DateListPlot[data, AspectRatio -> 1]

AspectRatio Full adjusts the height and width to tightly fit inside other constructs:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: plot = DateListPlot[data, AspectRatio -> Full];
Wolfram Language code: {Framed[Pane[plot, {50, 100}]], Framed[Pane[plot, {100, 100}]], Framed[Pane[plot, {100, 50}]]}

Axes  (1)

By default, DateListPlot uses a frame instead of axes:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: DateListPlot[data, Filling -> Bottom]

Use axes instead of a frame:

Wolfram Language code: DateListPlot[data, Filling -> Bottom, Frame -> False, Axes -> True]

Turn each axis on individually:

Wolfram Language code: {DateListPlot[data, Joined -> True, Filling -> Bottom, Frame -> False, Axes -> {True, False}], DateListPlot[data, Joined -> True, Filling -> Bottom, Frame -> False, Axes -> {False, True}]}

AxesLabel  (4)

No axes labels are drawn by default:

Wolfram Language code: DateListPlot[FinancialData["TWLO", {2016, 1, 1}], Frame -> False, Axes -> True]

Place a label on the axis:

Wolfram Language code: DateListPlot[FinancialData["TWLO", {2016, 1, 1}], Frame -> False, Axes -> True, AxesLabel -> "Price"]

Specify axes labels:

Wolfram Language code: DateListPlot[FinancialData["TWLO", {2016, 1, 1}], Frame -> False, Axes -> True, AxesLabel -> {"Year", "Price"}]

Use units as labels:

Wolfram Language code: DateListPlot[FinancialData["TWLO", {2016, 1, 1}], Frame -> False, Axes -> True, AxesLabel -> Automatic]

AxesOrigin  (2)

The position of the axes is determined automatically:

Wolfram Language code: DateListPlot[FinancialData["TWLO", {2016, 1, 1}], {2007}, Axes -> True, Frame -> False]

Specify an explicit origin for the axes:

Wolfram Language code: {DateListPlot[FinancialData["TWLO", {2016, 1, 1}], {2007}, Axes -> True, Frame -> False, AxesOrigin -> {"July 1, 2019", 0}], DateListPlot[FinancialData["TWLO", {2016, 1, 1}], {2007}, Axes -> True, Frame -> False, AxesOrigin -> {"July 1, 2021", 0}]}

AxesStyle  (1)

Change the style for the axes:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: DateListPlot[data, Filling -> Bottom, Frame -> False, Axes -> True, AxesStyle -> Red]

Specify the style of each axis:

Wolfram Language code: DateListPlot[data, Filling -> Bottom, Frame -> False, Axes -> True, AxesStyle -> {{Thick, Red}, {Thick, Blue}}]

Use different styles for the ticks and the axes:

Wolfram Language code: DateListPlot[data, Filling -> Bottom, Frame -> False, Axes -> True, AxesStyle -> Green, TicksStyle -> StandardGray]

Use different styles for the labels and the axes:

Wolfram Language code: DateListPlot[data, Filling -> Bottom, Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> StandardGray]

DateFunction  (2)

Prepend a year to create dates from {month,day} lists:

Wolfram Language code: data = {{{10, 1}, 8}, {{10, 10}, 10}, {{10, 20}, 12}, {{10, 24}, 14}, {{11, 5}, 15}, {{11, 15}, 20}};
Wolfram Language code: DateListPlot[data, DateFunction :> (Join[{2006}, #]&)]

Define functions for interpreting ambiguous date strings:

Wolfram Language code: data = {{"06/01/06", 8}, {"07/01/06", 10}, {"08/01/06", 12}, {"09/01/06", 14}, {"10/01/06", 15}, {"11/01/06", 20}};
Wolfram Language code: DateListPlot[data, DateFunction :> (DateList[{#, {"Month", "Day", "YearShort"}}]&)]
Wolfram Language code: DateListPlot[data, DateFunction :> (DateList[{#, {"Day", "Month", "YearShort"}}]&)]
Wolfram Language code: DateListPlot[data, DateFunction :> (DateList[{#, {"YearShort", "Month", "Day"}}]&)]

DateTicksFormat  (1)

Specify the format of date ticks as DateString elements:

Wolfram Language code: data = {{{2006, 10, 1}, 8}, {{2006, 10, 10}, 10}, {{2006, 10, 20}, 12}, {{2006, 10, 24}, 14}, {{2006, 11, 5}, 15}, {{2006, 11, 15}, 20}};
Wolfram Language code: DateListPlot[data, DateTicksFormat -> {"MonthShort", "/", "Day"}]

Epilog  (1)

Place text using a shortened DateList as the coordinate:

Wolfram Language code: DateListPlot[Range[10], {2007}, Epilog :> Text["linear trend", {{2010, 1, 15}, 6}]]

Filling  (1)

Fill from data points to the bottom:

Wolfram Language code: DateListPlot[Sqrt[Range[10]], {2007, 4, 10}, Filling -> Bottom, FillingStyle -> Pink]

Fill to the bottom with points joined:

Wolfram Language code: DateListPlot[Sqrt[Range[10]], {2007, 4, 10}, Filling -> Bottom, Joined -> True]

Frame  (4)

DateListPlot uses a frame by default:

Wolfram Language code: DateListPlot[Range[10], {2007}]

Use Frame False to turn off the frame:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False]

Draw a frame on the left and right edges:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> {{True, True}, {False, False}}]

Draw a frame on the left and bottom edges:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> {{True, False}, {True, False}}]

FrameLabel  (4)

Place a label along the bottom frame of a plot:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameLabel -> {"label"}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameLabel -> {"Bottom", "Left"}]

Place labels on each of the edges in the frame:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}, LabelStyle -> Directive[Bold, StandardPurple]]

FrameStyle  (2)

Specify the style of the frame:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameStyle -> Directive[StandardBrown, Thick]]

Specify style for each frame edge:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameStyle -> {{Directive[Green, Thick], Directive[Red, Thick]}, {Directive[Gray, Thick], Directive[Blue, Thick]}}]

FrameTicks  (10)

Frame ticks are placed automatically by default:

Wolfram Language code: DateListPlot[Range[10], {2007}]

Use a frame with no ticks:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> None]

Use different date specifications:

Wolfram Language code: DateListPlot[Sqrt[Range[10]], {2007, 4, 10}, FrameTicks -> {{Automatic, Automatic}, {{"April 12, 2007", "April 18, 2007"}, Automatic}}]
Wolfram Language code: DateListPlot[Sqrt[Range[10]], {2007, 4, 10}, FrameTicks -> {{Automatic, Automatic}, {{3385324800, 3385843200}, Automatic}}]

Use frame ticks on the bottom edge:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> {{None, None}, {Automatic, None}}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> Automatic]

Use All to include tick labels on all edges:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> All]

Place tick marks at specific positions:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> {{{2, .5, 10}, None}, {{"July 1, 2011", "July 1, 2014"}, None}}]

Draw frame tick marks at the specified positions with specific labels:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> {{{{2, "two"}, {5, "five"}, {10, "ten"}}, None}, {{{"July 1, 2011", "date 1"}, {"July 1, 2014", "date 2"}}, None}}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> {{{{2, "two", .15}, {5, "five", .45}, {10, "ten", .95}}, None}, {Automatic, None}}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> {{{{2, "two", {.15, .1}}, {5, "five", {.45, .2}}, {10, "ten", {.95, .3}}}, None}, {Automatic, None}}]

Specify a style for each frame tick:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> {{{{2, "two", .15, Directive[Blue, Thick]}, {5, "five", .45, Directive[Red, Thick, Dashed]}, {10, "ten", .95, Directive[Green, Thick, Dashed]}}, None}, {Automatic, None}}]

Construct a function that places frame 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: DateListPlot[Range[10], {2007}, FrameTicks -> {{minMeanMax, None}, {Automatic, None}}, PlotRangePadding -> None]

FrameTicksStyle  (3)

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameStyle -> Directive[Red]]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameStyle -> Directive[Red], FrameTicksStyle -> Directive[Blue, Thick]]

Use different styles for the different frame edges:

Wolfram Language code: DateListPlot[Range[10], {2007}, FrameTicks -> All, FrameTicksStyle -> {{Directive[Orange, Thick], Blue}, {Red, Green}}]

GridLines  (1)

Include grid lines at specific dates:

Wolfram Language code: DateListPlot[Sqrt[Range[15]], {2007, 4, 10}, GridLines -> {{{2007, 4, 15}, "Apr 22, 2007"}, None}]

Make the first grid line Blue :

Wolfram Language code: DateListPlot[Sqrt[Range[15]], {2007, 4, 10}, GridLines -> {{{{2007, 4, 15}, Blue}, "Apr 22, 2007"}, None}]

ImageSize  (7)

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

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: {DateListPlot[data, ImageSize -> Tiny], DateListPlot[data, ImageSize -> Small]}

Specify the width of the plot:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: {DateListPlot[data, ImageSize -> 150], DateListPlot[data, AspectRatio -> 1.5, ImageSize -> 150]}

Specify the height of the plot:

Wolfram Language code: {DateListPlot[data, ImageSize -> {Automatic, 150}], DateListPlot[data, AspectRatio -> 2, ImageSize -> {Automatic, 150}]}

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

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: {DateListPlot[data, ImageSize -> UpTo[200]], DateListPlot[data, AspectRatio -> 2, ImageSize -> UpTo[200]]}

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

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: DateListPlot[data, ImageSize -> {200, 200}, Background -> Gray]

Setting AspectRatio Full will fill the available space:

Wolfram Language code: DateListPlot[data, AspectRatio -> Full, ImageSize -> {200, 200}, Background -> StandardGray]

Use maximum sizes for the width and height:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: {DateListPlot[data, ImageSize -> {UpTo[150], UpTo[100]}], DateListPlot[data, AspectRatio -> 2, ImageSize -> {UpTo[150], UpTo[100]}]}

Use ImageSize Full to fill the available space in an object:

Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];
Wolfram Language code: Framed[Pane[DateListPlot[data, ImageSize -> Full, Background -> StandardGray], {200, 100}]]
Wolfram Language code: data = FinancialData["TWLO", {2016, 1, 1}];

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

Wolfram Language code: Framed[Pane[DateListPlot[data, ImageSize -> {Scaled[0.5], Scaled[0.5]}, Background -> StandardGray], {200, 100}]]

IntervalMarkers  (3)

By default, uncertainties are capped:

Wolfram Language code: DateListPlot[Table[Around[RandomReal[], 0.1], 10], Today]

Use bars to denote uncertainties without caps:

Wolfram Language code: DateListPlot[Table[Around[RandomReal[], 0.1], 10], Today, IntervalMarkers -> "Bars"]

Use bands to represent uncertainties:

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

IntervalMarkersStyle  (2)

Uncertainties automatically inherit the plot style:

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

Specify the style for uncertainties:

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

Joined  (4)

Plot data with points joined by a line:

Wolfram Language code: DateListPlot[Sin[Range[100] / Pi], {2006, 1, 1}, Joined -> True]

Plot multiple datasets with points joined:

Wolfram Language code: data1 = {{{2006, 10, 1, 0, 0, 0}, 10}, {{2006, 10, 15, 0, 0, 0}, 12}, {{2006, 10, 30, 0, 0, 0}, 15}, {{2006, 11, 20, 0, 0, 0}, 20}};
Wolfram Language code: data2 = {{{2006, 10, 5, 0, 0, 0}, 15}, {{2006, 10, 20, 0, 0, 0}, 8}, {{2006, 11, 10, 0, 0, 0}, 5}, {{2006, 11, 15, 0, 0, 0}, 1}};
Wolfram Language code: DateListPlot[{data1, data2}, Joined -> True]

Only join points for the first dataset:

Wolfram Language code: DateListPlot[{data1, data2}, Joined -> {True, False}]

TimeSeries is shown as continuous lines:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {12, {{NumericArray[{20089, 20120, 20148, 20179, 20209, 20240, 20270, 20301, 20332, 20362, ... 146, 166}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]]]

EventSeries is shown as discrete points:

Wolfram Language code: DateListPlot[EventSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {12, {{NumericArray[{20089, 20120, 20148, 20179, 20209, 20240, 20270, 20301, 20332, 20362, ... 146, 166}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]]]

LabelingFunction  (3)

By default, points are automatically labeled with strings:

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

Use LabelingFunction ->None to suppress the labels:

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

Put the labels above the points:

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

Put them in a tooltip:

Wolfram Language code: DateListPlot[{1, 1, 2, 3, 5, 8} -> {"a", "b", "c", "d", "e", "f"}, {2000}, LabelingFunction -> (Placed[Last@#1, Tooltip] &), PlotMarkers -> Automatic]

LabelingSize  (4)

Textual labels are shown at their actual sizes:

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

Image labels are automatically resized:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {[image], [image], [image], [image], [image], [image]}, ImageSize -> Medium]

Specify a maximum size for textual labels:

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

Specify a maximum size for image labels:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {[image], [image], [image], [image], [image], [image]}, ImageSize -> Medium, LabelingSize -> 20]

Show image labels at their natural sizes:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {[image], [image], [image], [image], [image], [image]}, ImageSize -> Medium, LabelingSize -> Full]

LabelingTarget  (6)

Labels are automatically placed to maximize readability:

Wolfram Language code: DateListPlot[IconizedObject[«data»], Today]

Show all labels:

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

Use a denser layout for the labels:

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

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

Wolfram Language code: DateListPlot[IconizedObject[«data»], Today, LabelingTarget -> 0.5]

Only allow labels that are orthogonal to the points:

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

Only allow labels that are diagonal to the points:

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

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

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

PlotFit  (4)

Automatically fit a model to the data:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {252, {{{1704153600000, 1704240000000, 1704326400000, 1704412800000, 1704672000000, 1704758 ... 22, 139.6699981689453, 140.22000122070312, 139.92999267578125, 137.00999450683594, 137.49000549316406, 134.2899932861328}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], PlotFit -> Automatic]

Fit a straight line to the data:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {252, {{{1704153600000, 1704240000000, 1704326400000, 1704412800000, 1704672000000, 1704758 ... 22, 139.6699981689453, 140.22000122070312, 139.92999267578125, 137.00999450683594, 137.49000549316406, 134.2899932861328}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], PlotFit -> "Linear"]

Fit a quadratic curve to the data:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {252, {{{1704153600000, 1704240000000, 1704326400000, 1704412800000, 1704672000000, 1704758 ... 22, 139.6699981689453, 140.22000122070312, 139.92999267578125, 137.00999450683594, 137.49000549316406, 134.2899932861328}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], PlotFit -> "Quadratic"]

Fit a periodic model to the data:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {252, {{{1704153600000, 1704240000000, 1704326400000, 1704412800000, 1704672000000, 1704758 ... 22, 139.6699981689453, 140.22000122070312, 139.92999267578125, 137.00999450683594, 137.49000549316406, 134.2899932861328}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], PlotFit -> PeriodicModel[3]]//Quiet

PlotFitElements  (2)

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

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {61, {{NumericArray[{19724, 19725, 19726, 19727, 19730, 19731, 19732, 19733, 19734, 19738, ... 94.28900146484375, 95.00199890136719, 92.56099700927734, 90.25, 90.35600280761719}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association["ResamplingMethod" -> "LinearInterpolation"]], PlotFit -> Automatic, PlotFitElements -> "BandCurves"]

Use a confidence level of 0.5 for the bands:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {61, {{NumericArray[{19724, 19725, 19726, 19727, 19730, 19731, 19732, 19733, 19734, 19738, ... 94.28900146484375, 95.00199890136719, 92.56099700927734, 90.25, 90.35600280761719}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association["ResamplingMethod" -> "LinearInterpolation"]], PlotFit -> Automatic, PlotFitElements -> {"BandCurves", <|"ConfidenceLevel" -> 0.5|>}]

Show residual lines from the data points to the fitted curve:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {61, {{NumericArray[{19724, 19725, 19726, 19727, 19730, 19731, 19732, 19733, 19734, 19738, ... 94.28900146484375, 95.00199890136719, 92.56099700927734, 90.25, 90.35600280761719}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association["ResamplingMethod" -> "LinearInterpolation"]], PlotFit -> Automatic, PlotFitElements -> "Residuals"]

Combine the original points with gray residual lines:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {61, {{NumericArray[{19724, 19725, 19726, 19727, 19730, 19731, 19732, 19733, 19734, 19738, ... 94.28900146484375, 95.00199890136719, 92.56099700927734, 90.25, 90.35600280761719}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association["ResamplingMethod" -> "LinearInterpolation"]], 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: DateListPlot[Range[10], {2007}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, PlotHighlighting -> None]

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

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> Directive[Red, AbsolutePointSize[10], DropShadowing[]]]

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

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> "Dropline"]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, PlotHighlighting -> "Dropline"]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, PlotHighlighting -> Placed["Dropline", DateObject[{2011, 1, 1}]]]

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

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> "XSlice"]

Highlight a particular set of points at a fixed value:

Wolfram Language code: DateListPlot[Range[10], {2007}, PlotHighlighting -> Placed["XSlice", DateObject[{2014, 1, 1}]]]

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

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> "YSlice"]

Highlight the curves at a fixed value:

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> Placed["YSlice", 10]]

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

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> "XNearestPoint"]

Specify the style for the points:

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> {"XNearestPoint", <|"Style" -> StandardGray|>}]

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

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> "XYLabel"]

Use Callout options to change the appearance of the label:

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}]

Combine components to create a custom effect:

Wolfram Language code: DateListPlot[{Range[10], 2 * Range[10]}, {2007}, PlotHighlighting -> {{"XNearestPoint", <|"Style" -> StandardGray|>}, {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}}]

PlotInteractivity  (3)

Plots have interactive highlighting by default:

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

Turn off all the interactive elements:

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

Allow provided interactive elements and disable automatic ones:

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

PlotLabel  (1)

Add an overall label to the plot:

Wolfram Language code: DateListPlot[RandomInteger[10, 10], {2007}, PlotLabel -> "plot label"]

PlotLabels  (4)

Specify text to label curves:

Wolfram Language code: data1 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], RandomReal[10, 15]}];
Wolfram Language code: data2 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], RandomReal[10, 15]}];
Wolfram Language code: DateListPlot[{data1, data2}, PlotLabels -> {"label1", "label2"}]

Use an Association form to specify labels:

Wolfram Language code: DateListPlot[{data1, data2}, PlotLabels -> <|"Lists" -> {"label1", "label2"}|>]

Place the label above the data:

Wolfram Language code: ge = FinancialData["GE", "Jan. 1, 2000"];
Wolfram Language code: DateListPlot[ge, PlotLabels -> Placed["high", Above]]

Place the label below the data at a specific date:

Wolfram Language code: DateListPlot[ge, PlotLabels -> Placed["label", {DateObject[{2009, 1, 1}], Below}]]

Use a callout to label the curve:

Wolfram Language code: DateListPlot[ge, PlotLabels -> Callout["label", {DateObject[{2009, 1, 1}], Above}]]

PlotLabel Automatic uses keys of an Association as data labels:

Wolfram Language code: DateListPlot[<|"a" -> Accumulate@RandomInteger[10, 10], "b" -> Accumulate@RandomInteger[10, 10]|>, {2007}, PlotLabels -> Automatic, PlotLegends -> None]

Use None to not add a label:

Wolfram Language code: data1 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], Accumulate@RandomReal[10, 15]}]; data2 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], Accumulate@RandomReal[3, 15]}];
Wolfram Language code: DateListPlot[{data1, data2}, PlotLabels -> {"label1", None}]

PlotLayout  (4)

By default, curves are overlaid on each other:

Wolfram Language code: data1 = {{DateObject[{2016, 10, 1}, "Day", "Gregorian", -5.], 10}, {DateObject[{2016, 10, 15}, "Day", "Gregorian", -5.], 17}, {DateObject[{2016, 10, 30}, "Day", "Gregorian", -5.], 15}, {DateObject[{2016, 11, 20}, "Day", "Gregorian", -5.], 20}};
Wolfram Language code: data2 = {{DateObject[{2016, 10, 1}, "Day", "Gregorian", -5.], 15}, {DateObject[{2016, 10, 15}, "Day", "Gregorian", -5.], 7}, {DateObject[{2016, 10, 30}, "Day", "Gregorian", -5.], 12}, {DateObject[{2016, 11, 20}, "Day", "Gregorian", -5.], 10}};
Wolfram Language code: DateListPlot[{data1, data2}]

Plot the data in a stacked layout:

Wolfram Language code: DateListPlot[{data1, data2}, PlotLayout -> "Stacked"]

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

Wolfram Language code: DateListPlot[{data1, data2}, PlotLayout -> "Percentile"]

Place each curve in a separate panel using shared axes:

Wolfram Language code: DateListPlot[{IconizedObject[«Phoenix»], IconizedObject[«Boston»], IconizedObject[«Portland»]}, ImageSize -> Medium, PlotLayout -> "Column"]

Use a row instead of a column:

Wolfram Language code: DateListPlot[{IconizedObject[«Phoenix»], IconizedObject[«Boston»], IconizedObject[«Portland»]}, PlotLayout -> "Row"]

Label the individual panels:

Wolfram Language code: DateListPlot[{IconizedObject[«Phoenix»], IconizedObject[«Boston»], IconizedObject[«Portland»]}, PlotLayout -> "Row", PlotLabels -> {"Phoenix", "Boston", "Portland"}]

Use multiple columns or rows:

Wolfram Language code: DateListPlot[{IconizedObject[«Chicago»], IconizedObject[«Miami»], IconizedObject[«Phoenix»], IconizedObject[«Boston»], IconizedObject[«Portland»], IconizedObject[«Denver»]}, PlotLayout -> {"Column", 4}]
Wolfram Language code: DateListPlot[{IconizedObject[«Chicago»], IconizedObject[«Miami»], IconizedObject[«Phoenix»], IconizedObject[«Boston»], IconizedObject[«Portland»], IconizedObject[«Denver»]}, PlotLayout -> {"Column", UpTo[4]}]

PlotLegends  (7)

PlotLegends matches up styles in the plot:

Wolfram Language code: DateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotStyle -> {Directive[AbsolutePointSize[4], Blue], Directive[AbsolutePointSize[8], Red]}, PlotLegends -> Automatic]

PlotLegends matches up markers in the plot:

Wolfram Language code: DateListPlot[{Range[10], Range[10] ^ 2}, {2007}, PlotMarkers -> Automatic, PlotLegends -> Automatic]

Use a list of legend labels:

Wolfram Language code: DateListPlot[{Range[10], Range[10] + 3, Sqrt@Range[10], Log@Range[10]}, {2007}, PlotLegends -> {"a", "b", "c", "d"}]

Use an Association form to specify legends:

Wolfram Language code: DateListPlot[{Range[10], Range[10] + 3, Sqrt@Range[10], Log@Range[10]}, {2007}, PlotLegends -> <|"Lists" -> {"a", "b", "c", "d"}|>]

Use MetaInformation from a TimeSeries :

Wolfram Language code: data = TemporalData[TimeSeries, {{{{1662.33502197266, 1572.}, {1653.52496337891, 1563.}, {1634.92498779297, 1536.5}, {1642.40002441406, 1525.5}, {1642.40002441406, 1525.5}, {1640.23498535156, 1521.5}, {1638.70001220703, 1530.}, {1606.10504150391 ... 1, {"Continuous", 1}, {"Discrete", 1}, 2, {MetaInformation -> {"MetalList" -> {"Gold", "Platinum"}, "Unit" -> "USDollars"/"TroyOunces"}, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}, ValueDimensions -> 2}}, True, 10.];

See the available MetaInformation :

Wolfram Language code: data["MetaInformation"]

The metal list can be extracted directly:

Wolfram Language code: data["MetalList"]

Visualize the data:

Wolfram Language code: DateListPlot[data, PlotLegends -> data["MetalList"]]

Use Placed to specify legend placement:

Wolfram Language code: Table[DateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotLegends -> Placed[Automatic, pos], PlotLabel -> pos], {pos, {Above, Below}}]
Wolfram Language code: Table[DateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotLegends -> Placed[Automatic, pos], PlotLabel -> pos], {pos, {Before, After}}]

Use PointLegend to change legend appearance:

Wolfram Language code: DateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotLegends -> PointLegend[Automatic, {"list1", "list2"}, LegendFunction -> Panel, LegendMargins -> 5]]

PlotRange  (1)

Restrict the range of dates over which to plot:

Wolfram Language code: DateListPlot[10 / Range[100], {2007, 4, 1}, PlotRange -> {{{2007, 4, 15}, {2007, 6, 15}}, Automatic}]

PlotStyle  (5)

Set a specific style directive:

Wolfram Language code: DateListPlot[TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {753, {{{1641168000000, 1641254400000, 1641340800000, 1641427200000, 1641513600000, 1641772 ... 22, 139.6699981689453, 140.22000122070312, 139.92999267578125, 137.00999450683594, 137.49000549316406, 134.2899932861328}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], PlotStyle -> Red]

By default, different styles are chosen for multiple datasets:

Wolfram Language code: DateListPlot[{TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {1508, {{{1577923200000, 1578009600000, 1578268800000, 1578355200000, 1578441600000, 157852 ... 4550781, 314.7300109863281, 315.5299987792969, 316.75, 315.1400146484375, 311.5799865722656, 311.7900085449219, 308.0299987792969}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {1508, {{{1577923200000, 1578009600000, 1578268800000, 1578355200000, 1578441600000, 157852 ... 183.69000244140625, 189.2100067138672, 188.61000061035156, 190.52999877929688, 188.22000122070312, 187.5399932861328, 186.5}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]]}]

Explicitly specify the style for different datasets:

Wolfram Language code: DateListPlot[{TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {1508, {{{1577923200000, 1578009600000, 1578268800000, 1578355200000, 1578441600000, 157852 ... 4550781, 314.7300109863281, 315.5299987792969, 316.75, 315.1400146484375, 311.5799865722656, 311.7900085449219, 308.0299987792969}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {1508, {{{1577923200000, 1578009600000, 1578268800000, 1578355200000, 1578441600000, 157852 ... 183.69000244140625, 189.2100067138672, 188.61000061035156, 190.52999877929688, 188.22000122070312, 187.5399932861328, 186.5}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]]}, PlotStyle -> {RGBColor[0.4, 0.6, 1], RGBColor[0.14, 0.8, 0.14]}]

PlotStyle applies to both lines and points:

Wolfram Language code: DateListPlot[{TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {1508, {{{1577923200000, 1578009600000, 1578268800000, 1578355200000, 1578441600000, 157852 ... 4550781, 314.7300109863281, 315.5299987792969, 316.75, 315.1400146484375, 311.5799865722656, 311.7900085449219, 308.0299987792969}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]], TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {1508, {{{1577923200000, 1578009600000, 1578268800000, 1578355200000, 1578441600000, 157852 ... 183.69000244140625, 189.2100067138672, 188.61000061035156, 190.52999877929688, 188.22000122070312, 187.5399932861328, 186.5}, {}, None}}, None}, "ElementType" -> TypeSpecifier["Quantity"]["Real64", "USDollars"]]], Association[]]}, Joined -> {True, False}, PlotStyle -> RGBColor[0.14, 0.8, 0.14]]

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

Wolfram Language code: DateListPlot[EventSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {12, {{NumericArray[{20089, 20120, 20148, 20179, 20209, 20240, 20270, 20301, 20332, 20362, ... 146, 166}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]], PlotStyle -> <|"Base" -> PointSize[Large]|>]

Use a different style for each of the datasets:

Wolfram Language code: DateListPlot[EventSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {12, {{NumericArray[{20089, 20120, 20148, 20179, 20209, 20240, 20270, 20301, 20332, 20362, ... 146, 166}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]], 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: DateListPlot[EventSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> False, "Timestamps" -> TabularColumn[Association[ "Data" -> {12, {{NumericArray[{20089, 20120, 20148, 20179, 20209, 20240, 20270, 20301, 20332, 20362, ... 146, 166}, {}, None}, "ElementType" -> "Integer64"]], TabularColumn[Association["Data" -> {{204, 188, 235, 227, 234, 264, 302, 293, 259, 229, 203, 229}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], Association[]], PlotStyle -> <|"Base" -> PointSize[Large], "Lists" -> {StandardGreen, StandardRed, StandardBlue}|>]

PlotTheme  (2)

Use a theme with a dark background in a high-contrast color scheme:

Wolfram Language code: DateListPlot[{Sqrt[Range[20]], Log[Range[20]]}, {2007, 1, 1}, PlotTheme -> "Marketing"]

Change the color scheme:

Wolfram Language code: DateListPlot[{Sqrt[Range[20]], Log[Range[20]]}, {2007, 1, 1}, PlotTheme -> "Marketing", PlotStyle -> {StandardRed, StandardBlue}]

Prolog  (1)

Place text using a shortened DateList as the coordinate:

Wolfram Language code: DateListPlot[Range[10], {2007}, Prolog :> Text["linear trend", {{2010, 1, 15}, 6}]]

ScalingFunctions  (7)

By default, plots have linear scales in each direction:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}]]

Use a log scale in the direction:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}], ScalingFunctions -> "Log"]

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

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}], ScalingFunctions -> "Reverse"]

Use a reciprocal scale in the direction:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], ScalingFunctions -> "Reciprocal"]

Use a scale defined by a function and its inverse:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}], ScalingFunctions -> {-Log[#]&, Exp[-#]&}]

Positions in FrameTicks and GridLines are automatically scaled:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}], ScalingFunctions -> "Log", FrameTicks -> {Automatic, 2 ^ Range[0, 10]}, GridLines -> {None, 2 ^ Range[0, 10]}]

PlotRange is automatically scaled:

Wolfram Language code: DateListPlot[TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}], ScalingFunctions -> "Log", PlotRange -> {0.5, 500}]

TargetUnits  (1)

Units are automatically extracted from the data:

Wolfram Language code: DateListPlot[Quantity[Sqrt[Range[10]], "Kilograms"], {2010, 1, 1}, FrameLabel -> Automatic]

Specify the units to use:

Wolfram Language code: DateListPlot[Quantity[Sqrt[Range[10]], "Kilograms"], {2010, 1, 1}, FrameLabel -> Automatic, TargetUnits -> "Pounds"]

Ticks  (10)

Ticks are placed automatically in each plot:

Wolfram Language code: DateListPlot[Range[10], {2007}, Axes -> True, Frame -> False]

Use Ticks None to draw axes without any tick marks:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {None, None}]

Use ticks on the date axis, but not the axis:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {Automatic, None}]

Place tick marks at specific positions:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {{"July 1, 2011", "July 1, 2014"}, {2, 3, 5, 7, 9}}]

Give explicit dates as date strings or absolute times:

Wolfram Language code: DateListPlot[Sqrt[Range[10]], {2007, 4, 10}, Ticks -> {{"April 12, 2007", "April 18, 2007"}, Automatic}, Axes -> True, Frame -> False]
Wolfram Language code: DateListPlot[Sqrt[Range[10]], {2007, 4, 10}, Ticks -> {{3385324800, 3385843200}, Automatic}, Axes -> True, Frame -> False]

Draw tick marks at the specified positions with the specified labels:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {{{"July 1, 2011", "year 1"}, {"July 1, 2014", "year 2"}}, {{2, "two"}, {5, "five"}, {9, "nine"}}}]

Use specific ticks on one axis and automatic ticks on the other:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {{{"July 1, 2011", "year 1"}, {"July 1, 2014", "year 2"}}, Automatic}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {{{"July 1, 2011", "a", .3}, {"July 1, 2014", "b", .5}}, Automatic}]

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

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {{{"July 1, 2011", "a", {.3, .1}}, {"July 1, 2014", "b", {.5, .2}}}, Automatic}]

Specify a style for each tick:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {{{"July 1, 2011", "a", .3, Directive[Blue, Thick]}, {"July 1, 2014", "b", .5, Directive[StandardGray, Thick, Dashed]}}, Automatic}]

Construct a function that places ticks at the midpoint and extremes of the numerical axis:

Wolfram Language code: minMeanMax[min_, max_] := {{min, min}, {(max + min) / 2, (max + min) / 2}, {max, max}}
Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, Ticks -> {Automatic, minMeanMax}, PlotRangePadding -> None]

TicksStyle  (4)

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

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, AxesStyle -> Red]

Specify an overall ticks style, including the tick labels:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, TicksStyle -> Directive[Red]]

Specify ticks style for each of the axes:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, TicksStyle -> {Directive[Green, Thick], Directive[Blue, Thick]}]

Use a different style for the tick labels and tick marks:

Wolfram Language code: DateListPlot[Range[10], {2007}, Frame -> False, Axes -> True, TicksStyle -> Directive[Red, Thick], LabelStyle -> Blue]

Applications  (2)

Get stock price data:

Wolfram Language code: data = FinancialData["GE", {2000, 1, 1}];
Wolfram Language code: DateListPlot[data, Joined -> True, Filling -> Bottom]

Plot data gathered at regular intervals and stored without explicit dates:

Wolfram Language code: data = {56.1, 60.7, 51.6, 52., 57.5, 56.7, 67.4, 69.9, 72.9, 69.7, 70.3, 72.1};
Wolfram Language code: DateListPlot[data, {{2006, 6, 1, 8}, Automatic, "Hour"}]

Modify the ticks:

Wolfram Language code: DateListPlot[data, {{2006, 6, 1, 8}, Automatic, "Hour"}, DateTicksFormat -> {"Hour12Short", "AMPMLowerCase"}]

Properties & Relations  (2)

Date coordinates are plotted as absolute times:

Wolfram Language code: data = Transpose[{Table[{1900, 1, 1, i}, {i, 24}], Range[24]}];
Wolfram Language code: DateListPlot[data, GridLines -> {{5 10 ^ 4}, None}]

A ListPlot using the AbsoluteTime values:

Wolfram Language code: lpdata = data; lpdata[[All, 1]] = Map[AbsoluteTime, data[[All, 1]]];
Wolfram Language code: ListPlot[lpdata, GridLines -> {{5 10 ^ 4}, None}, Frame -> True]

DateListLogPlot plots datebased data on a logarithmic scale:

Wolfram Language code: DateListLogPlot[Exp[Range[15]], {2008, 1, 1}]
Wolfram Language code: DateListPlot[Exp[Range[15]], {2008, 1, 1}]

History

Introduced in 2007 (6.0) | Updated in 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 (2007), DateListPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/DateListPlot.html (updated 2026).

Text

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

CMS

Wolfram Language. 2007. "DateListPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. https://reference.wolfram.com/language/ref/DateListPlot.html.

APA

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

BibTeX

@misc{reference.wolfram_2026_datelistplot, author="Wolfram Research", title="{DateListPlot}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/DateListPlot.html}", note=[Accessed: 14-August-2026]}

BibLaTeX

@online{reference.wolfram_2026_datelistplot, organization={Wolfram Research}, title={DateListPlot}, year={2026}, url={https://reference.wolfram.com/language/ref/DateListPlot.html}, note=[Accessed: 14-August-2026]}

Top [フレーム]

AltStyle によって変換されたページ (->オリジナル) /