StackedDateListPlot

StackedDateListPlot[{{date1,v1},{date2,v2},}]

plots points with values vi at a sequence of dates.

StackedDateListPlot[{v1,v2,},datespec]

plots points with dates at equal intervals specified by datespec.

StackedDateListPlot[tseries]

plots the time series tseries.

StackedDateListPlot[{data1,data2,}]

plots data from all the datai.

StackedDateListPlot[{,w[datai],}]

plots datai with features defined by the symbolic wrapper w.

Details and Options

  • Possible forms of datei include:
  • DateObject[],TimeObject[]date or time object
    "string"DateString specification
    {y,m,d,h,m,s}DateList specification
    {y},{y,m},{y,m,d},shortened date list
    tabsolute time given as a single number
  • In shortened date lists, omitted elements are taken to have default values {y,1,1,0,0,0}.
  • Possible forms of datespec include:
  • {start,end}dates from start to end in equal increments
    {start,Automatic,Δt}dates beginning with start in increments Δt
    {Automatic,end,Δt}dates ending with end in increments Δt
    startdates with increments determined by the form of start
  • The Δt in datespec can be a {y,m,d,h,m,s} date list specification or any of the special forms "Year", "Quarter", "Month", "Week", "Day", "Hour", "Minute", "Second" and "Millisecond".
  • If no explicit Δt is given, the increments used will be the smallest time unit specified explicitly in start.
  • Data values vi can be given in the following forms:
  • via real-valued number
    Quantity[vi,unit]a quantity with a unit
    Around[vi,ei]value vi with uncertainty ei
    Interval[{vmin,vmax}]values between vmin and vmax
  • Values vi that are not of the preceding form are taken to be missing and are not shown.
  • The datai have the following forms and interpretations:
  • <|"k1"v1,"k2"v2,|>values {v1,v2,}
    <|date1v1,date2v2,|>key-value pairs {{date1,v1},{date2,v2},}
    TimeSeries, EventSeriestime-value pairs
    QuantityArraymagnitudes
    WeightedDataunweighted values
  • 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 points are clicked
    Callout[datai,label]label the data with a callout
    EventHandler[datai,]define a general event handler for the points
    Hyperlink[datai,uri]make the points a hyperlink
    Labeled[datai,label]label the data
    Legended[datai,label]identify the data in a legend
    PopupWindow[datai,cont]attach a popup window to the points
    StatusArea[datai,label]display in the status area on mouseover
    Style[datai,styles]show the points using the specified styles
    Tooltip[datai,label]attach a tooltip to the points
    Tooltip[datai]use data values as tooltip for the points
  • Wrappers w can be applied at multiple levels:
  • {,w[vi],}wrap the value vi in a list
    {,w[{datei,vi}],}wrap the point {datei,vi}
    w[datai]wrap the data datai
    w[{data1,}]wrap a collection of data
    w1[w2[]]use nested wrappers
  • In StackedDateListPlot, Labeled and Placed allow the following positions:
  • Automaticautomatically placed labels
    Above, Below, Before, Afterpositions around the data
    datenear the data at date
    Scaled[s]scaled position s along the data
    {s,Above},{s,Below},relative position at position s along the data
    {pos,epos}epos in label placed at relative position pos of the data
  • StackedDateListPlot has the same options as Graphics, with the following additions and changes:
  • AspectRatio1/GoldenRatioratio of height to width
    AxesAutomaticwhether to draw axes
    ClippingStyleNonewhat to draw when lines are clipped
    ColorFunctionAutomatichow to determine the coloring of lines
    ColorFunctionScalingTruewhether to scale arguments to ColorFunction
    DataRangeAutomaticthe range of x values to assume for data
    DateFunctionAutomatichow to convert dates to standard form
    DateTicksFormatAutomaticformat for date tick labels
    FillingNonehow to fill in stems for each point
    FillingStyleAutomaticstyle to use for filling
    FrameTruewhether to put a frame around the plot
    InterpolationOrderNonethe polynomial degree of curves used in joining data points
    IntervalMarkersAutomatichow to render uncertainties
    IntervalMarkersStyleAutomaticstyle for uncertainty elements
    JoinedFalsewhether to join points
    MaxPlotPointsInfinitythe maximum number of points to include
    MeshNonehow many mesh points to draw on each line
    MeshFunctions{#1&}how to determine the placement of mesh points
    MeshShadingNonehow to shade regions between mesh points
    MeshStyleAutomaticthe style for mesh points
    MethodNonemethods to use
    PlotLabelNoneoverall label for the plot
    PlotLabelsNonelabels for data
    PlotLayout"Stacked"how to position data
    PlotLegendsNonelegends for datasets
    PlotMarkersNonemarkers to use to indicate each point
    PlotRangeAutomaticrange of values to include
    PlotRangeClippingTruewhether to clip at the plot range
    PlotStyleAutomaticgraphics directives to determine styles of points
    PlotTheme$PlotThemeoverall theme for the plot
    ScalingFunctionsNonehow to scale individual coordinates
    TargetUnitsAutomaticunits to display in the plot
  • DataRange determines how values {v1,,vn} are interpreted into {{date1,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 DataRangeAll forces it to be interpreted as multiple data {{y11,y12},{y21,y23},}.
  • Typical settings for PlotLegends include:
  • Noneno legend
    Automaticautomatically determine legend
    {lbl1,lbl2,}use lbl1, lbl2, as legend labels
    Placed[lspec,]specify placement for legend
  • ScalingFunctions->"scale" scales the coordinate; ScalingFunctions{"scalex","scaley"} scales both the and coordinates.
  • All explicit coordinates in Prolog, Epilog, Ticks, etc. are taken to be dates. »

Examples

open allclose all

Basic Examples  (4)

Plot data with explicit date values:

Plot monthly values, starting in August 2016:

Plot multiple time series with a legend:

Add labels for the data:

Scope  (36)

Data  (9)

Plot time series of populations:

Dates given as AbsoluteTime specifications:

Dates given as DateString specifications:

Dates given as elided DateList specifications:

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

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

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

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

Dates determined by an ending date and a step:

Use ScalingFunctions to scale the axes:

Special Data  (5)

Use Quantity to include units with the data:

Plot data in a QuantityArray:

Specify the units used with TargetUnits:

Plot TimeSeries directly:

Numeric values in an Association are used as the coordinates:

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

Plot data with uncertainty:

Use intervals:

Wrappers  (8)

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

Wrappers can be nested:

Use the value of each point as a tooltip:

Use a specific label for all the points:

Use PopupWindow to provide additional drilldown information:

Button can be used to trigger any action:

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

Use Hyperlink to jump to the specified link when clicked:

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

Labeling and Legending  (9)

Label data with Labeled:

Label points with automatically positioned text:

Place the labels relative to the points:

Label data with PlotLabels:

Include legends for each curve:

Use callouts to label curves:

Specify the maximum size of labels:

Use the full label:

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

Increasing the size of the plot will show more labels:

Use Legended to provide a legend for a specific dataset:

Use Placed to change the legend location:

Use Association keys as labels:

Presentation  (5)

Multiple curves are automatically colored to be distinct:

Provide explicit styling to different curves:

Include legends for each dataset:

Use a theme with detailed ticks and grid lines:

Use a more stylized theme:

Use shapes to distinguish different datasets:

Options  (43)

AxesOrigin  (1)

Axes origin specified with a date string coordinate:

DateFunction  (2)

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

Define functions for interpreting ambiguous date strings:

DateTicksFormat  (1)

Specify the format of date ticks as DateString elements:

Epilog  (1)

Place text using a shortened DateList as the coordinate:

Filling  (1)

Fill from data points to the bottom:

FrameTicks  (2)

Give explicit dates for horizontal ticks:

Use different date specifications:

Include a specific tick label, length and style:

GridLines  (1)

Include grid lines at specific dates:

Make the first grid line Blue:

IntervalMarkers  (3)

By default, uncertainties are capped:

Use bars to denote uncertainties without caps:

Use bands to represent uncertainties:

IntervalMarkersStyle  (2)

Uncertainties automatically inherit the plot style:

Specify the style for uncertainties:

Joined  (2)

Plot data with points joined by a line:

Plot multiple datasets with points joined:

Only join points for the first dataset:

LabelingFunction  (3)

By default, points are automatically labeled with strings:

Use LabelingFunction->None to suppress the labels:

Put the labels above the points:

Put them in a tooltip:

LabelingSize  (4)

Textual labels are shown at their actual sizes:

Image labels are automatically resized:

Specify a maximum size for textual labels:

Specify a maximum size for image labels:

Show image labels at their natural sizes:

PlotLabel  (1)

Add an overall label to the plot:

PlotLabels  (4)

Specify text to label curves:

Place the label above the data:

Place the label below the data at a specific date:

Use a callout to label the curve:

PlotLabelAutomatic uses keys of an Association as data labels:

Use None to not add a label:

PlotLegends  (6)

PlotLegends matches up styles in the plot:

PlotLegends matches up markers in the plot:

Use a list of legend labels:

Use MetaInformation from a TimeSeries:

See the available MetaInformation:

The metal list can be extracted directly:

Visualize the data:

Use Placed to specify legend placement:

Use PointLegend to change legend appearance:

PlotRange  (1)

Restrict the range of dates over which to plot:

PlotTheme  (2)

Change the theme of the plot:

Change the color scheme:

Prolog  (1)

Place text using a shortened DateList as the coordinate:

ScalingFunctions  (1)

By default, plots have linear scales in each direction:

Use a log scale in the direction:

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

Use a reciprocal scale in the direction:

Use a scale defined by a function and its inverse:

Positions in FrameTicks and GridLines are automatically scaled:

PlotRange is automatically scaled:

TargetUnits  (1)

Units are automatically extracted from the data:

Specify the units to use:

Ticks  (3)

Give explicit dates for horizontal ticks:

Give explicit dates as date strings or absolute times:

Include a specific tick label, length and style:

Applications  (2)

Get stock price data:

A sample data point:

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

Modify the ticks:

Properties & Relations  (2)

Date coordinates are plotted as absolute times:

A ListPlot using the AbsoluteTime values:

DateListLogPlot plots datebased data on a logarithmic scale:

Introduced in 2017
 (11.2)
 |
Updated in 2019
 (12.0)