StackedDateListPlot[{{date1,y1},{date2,y2},…}]
plots points with values yi at a sequence of dates.
StackedDateListPlot[{y1,y2,…},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.
StackedDateListPlot
StackedDateListPlot[{{date1,y1},{date2,y2},…}]
plots points with values yi at a sequence of dates.
StackedDateListPlot[{y1,y2,…},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 t absolute 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 start dates 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 yi can be given in the following forms:
-
yi a real-valued number Quantity[yi,unit] a quantity with a unit Around[yi,ei] value yi with uncertainty ei Interval[{ymin,ymax}] values between ymin and ymax - Values yi 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"y1,"k2"y2,…|> values {y1,y2,…} <|date1y1,date2y2,…|> key-value pairs {{date1,y1},{date2,y2},…} TimeSeries, EventSeries time-value pairs QuantityArray magnitudes WeightedData unweighted values - StackedDateListPlot[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 agains 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.
- StackedDateListPlot[TimeSeries[…]{com1,com2,…}] and StackedDateListPlot[EventSeries[…]{com1,com2,…}] extract and plot values from components com1, com2, … in the time or event series 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 points are clicked Callout[datai,label] label the data with a callout EventHandler[datai,…] define a general event handler for the points 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 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[yi],…} wrap the value yi in a list {…,w[{datei,yi}],…} wrap the point {datei,yi} 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:
-
Automatic automatically placed labels Above, Below, Before, After positions around the data date near 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: [List of all options]
-
AspectRatio 1/GoldenRatio ratio of height to width Axes Automatic whether to draw axes ClippingStyle None what to draw when lines are clipped ColorFunction Automatic how to determine the coloring of lines ColorFunctionScaling True whether to scale arguments to ColorFunction DataRange Automatic the range of x values to assume for data DateFunction Automatic how to convert dates to standard form DateTicksFormat Automatic format for date tick labels Filling None how to fill in stems for each point FillingStyle Automatic style to use for filling Frame True whether to put a frame around the plot InterpolationOrder None the polynomial degree of curves used in joining data points IntervalMarkers Automatic how to render uncertainties IntervalMarkersStyle Automatic style for uncertainty elements Joined False whether to join points LabelingFunction Automatic how to label points LabelingSize Automatic maximum size of callouts and labels LabelingTarget Automatic how to determine automatic label positions MaxPlotPoints Infinity the maximum number of points to include Mesh None how many mesh points to draw on each line MeshFunctions {#1&} how to determine the placement of mesh points MeshShading None how to shade regions between mesh points MeshStyle Automatic the style for mesh points Method None methods to use PlotFit None how to fit a curve to the points PlotFitElements Automatic fitted elements to show in the plot PlotHighlighting Automatic highlighting effect for curves PlotInteractivity $PlotInteractivity whether to allow interactive elements PlotLabel None overall label for the plot PlotLabels None labels for data PlotLayout "Stacked" how to position data PlotLegends None legends for datasets PlotMarkers None markers to use to indicate each point PlotRange Automatic range of values to include PlotRangeClipping True whether to clip at the plot range PlotStyle Automatic graphics directives to determine styles of points PlotTheme $PlotTheme overall theme for the plot ScalingFunctions None how to scale individual coordinates TargetUnits Automatic units to display in the plot - DataRange determines how values {y1,…,yn} are interpreted into {{date1,y1},…,{xn,yn}}. Possible settings include:
-
Automatic,All uniform 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},…}.
- The following settings for PlotLayout can be used to display multiple sets of data:
-

"Stacked" accumulate the data per axis 
"Percentile" accumulate and normalize the data per axis - Typical settings for PlotLegends include:
-
None no legend Automatic automatically determine legend {lbl1,lbl2,…} use lbl1, lbl2, … as legend labels Placed[lspec,…] specify placement for legend - PlotStylesty 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.
- Possible highlighting effects for Highlighted and PlotHighlighting include:
-

style highlight the indicated curve 
"Ball" highlight and label the indicated point in a curve 
"Dropline" highlight and label the indicated point in a curve with droplines to the axes 
"XSlice" highlight and label all points along a vertical slice 
"YSlice" highlight and labels 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 - 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. -
AlignmentPoint Center the default point in the graphic to align with AspectRatio 1/GoldenRatio ratio of height to width Axes Automatic whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ClippingStyle None what to draw when lines are clipped ColorFunction Automatic how to determine the coloring of lines ColorFunctionScaling True whether to scale arguments to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool DataRange Automatic the range of x values to assume for data DateFunction Automatic how to convert dates to standard form DateTicksFormat Automatic format for date tick labels Epilog {} primitives rendered after the main plot Filling None how to fill in stems for each point FillingStyle Automatic style to use for filling FormatType TraditionalForm the default format type for text Frame True whether to put a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic InterpolationOrder None the polynomial degree of curves used in joining data points IntervalMarkers Automatic how to render uncertainties IntervalMarkersStyle Automatic style for uncertainty elements Joined False whether to join points LabelingFunction Automatic how to label points LabelingSize Automatic maximum size of callouts and labels LabelingTarget Automatic how to determine automatic label positions LabelStyle {} style specifications for labels MaxPlotPoints Infinity the maximum number of points to include Mesh None how many mesh points to draw on each line MeshFunctions {#1&} how to determine the placement of mesh points MeshShading None how to shade regions between mesh points MeshStyle Automatic the style for mesh points Method None methods to use PlotFit None how to fit a curve to the points PlotFitElements Automatic fitted elements to show in the plot PlotHighlighting Automatic highlighting effect for curves PlotInteractivity $PlotInteractivity whether to allow interactive elements PlotLabel None overall label for the plot PlotLabels None labels for data PlotLayout "Stacked" how to position data PlotLegends None legends for datasets PlotMarkers None markers to use to indicate each point PlotRange Automatic range of values to include PlotRangeClipping True whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotStyle Automatic graphics directives to determine styles of points PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RotateLabel True whether to rotate y labels on the frame ScalingFunctions None how to scale individual coordinates TargetUnits Automatic units to display in the plot Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks
List of all options
Examples
open all close allBasic Examples (4)
Plot data with explicit date values:
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}};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}};StackedDateListPlot[{data1, data2}]Plot monthly values, starting in August 2016:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, DateObject[{2016, 8}, "Month", "Gregorian", -5.]]Plot multiple time series with a legend:
data1 = TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}];
data2 = TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}];StackedDateListPlot[{data1, data2}, PlotLegends -> {"first", "second"}]StackedDateListPlot[{{4, 9, 18, 27, 34, 40, 49, 54, 64, 72}, {1, 9, 11, 16, 18, 25, 34, 43, 49, 54}}, {2013, 1, 1}, Joined -> True, PlotLabels -> {"first", "second"}]Scope (39)
Data (9)
Plot time series of populations:
data = {Entity["Country", "France"][EntityProperty["Country", "Population",
{"Date" -> Interval[{DateObject[{1900}, "Year", "Gregorian", -5.],
DateObject[{2000}, "Year", "Gregorian", -5.]}]}]], Entity["Country", "Italy"][EntityProperty["Country", "Population",
{"Date" -> Interval[{DateObject[{1900}, "Year", "Gregorian", -5.],
DateObject[{2000}, "Year", "Gregorian", -5.]}]}]]}StackedDateListPlot[data, FrameLabel -> Automatic]Dates given as AbsoluteTime specifications:
data = {{3368649600, 10}, {3369859200, 12}, {3371155200, 15}, {3372969600, 20}};StackedDateListPlot[{data, data}]Dates given as DateString specifications:
data = {{"June 2006", 10}, {"August 2006", 12}, {"November 2006", 15}, {"January 2007", 20}};StackedDateListPlot[{data, data}]Dates given as elided DateList specifications:
data = {{{2006, 6}, 10}, {{2006, 8}, 12}, {{2006, 11}, 15}, {{2007, 1}, 20}};StackedDateListPlot[{data, data}]Plot a series of data using an initial starting date or time:
StackedDateListPlot[{Sin[Range[100] / (2Pi)], Sin[Range[100] / (2Pi)]}, "August 15, 2006"]StackedDateListPlot[{Sin[Range[100] / (2Pi)], Sin[Range[100] / (2Pi)]}, {2006, 8, 15, 12, 15, 0}]Plot data spaced equally in time between a starting and ending date:
StackedDateListPlot[{Sqrt[Range[10]], Sqrt[Range[10]]}, {{2006, 5, 5}, {2006, 5, 30}}]Plot data gathered every 90 days, starting on January 1, 2006:
StackedDateListPlot[{Range[10], Range[10]}, {{2006, 1, 1}, Automatic, {0, 0, 90}}]Plot data gathered on the 15
day of each month, starting in January:
StackedDateListPlot[{Range[10], Range[10]}, {{2006, 1, 15}, Automatic, "Month"}]Dates determined by an ending date and a step:
StackedDateListPlot[{ArcTan[Range[50] / 5], ArcTan[Range[50] / 5]}, {Automatic, "September 2010", "Month"}]Use ScalingFunctions to scale the axes:
StackedDateListPlot[{FinancialData["IBM", "Volume", "Jan. 1, 2017"], FinancialData["ORCL", "Volume", "Jan. 1, 2017"]}, ScalingFunctions -> "Log"]Special Data (5)
Use Quantity to include units with the data:
StackedDateListPlot[Quantity[{Sqrt[Range[10]], Sqrt[Range[10]]}, "Meters"], {2010, 1, 1}, FrameLabel -> Automatic]Plot data in a QuantityArray:
qa = QuantityArray[{RandomReal[{0, 40}, 20], RandomReal[{0, 40}, 20]}, "Meters"]StackedDateListPlot[qa, {2000, 1, 1}, FrameLabel -> Automatic]Specify the units used with TargetUnits:
StackedDateListPlot[qa, {2000, 1, 1}, TargetUnits -> "Feet", FrameLabel -> Automatic]Plot TimeSeries directly:
data = {CountryData["UnitedStates", {{"Population"}, {1988, 2013}}],
CountryData["Mexico", {{"Population"}, {1988, 2013}}]}StackedDateListPlot[data, FrameLabel -> Automatic]Numeric values in an Association are used as the
coordinates:
StackedDateListPlot[{<|"a" -> 2, "b" -> 3, "c" -> 5, "d" -> 7, "e" -> 11, "f" -> 13|>,
<|"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:
StackedDateListPlot[{<|2 -> 1, 3 -> 2, 5 -> 3, 7 -> 4, 11 -> 5, 13 -> 6|>,
<|2 -> 1, 3 -> 2, 5 -> 3, 7 -> 4, 11 -> 5, 13 -> 6|>}]data = RandomInteger[{1, 25}, {3, 10}];
StackedDateListPlot[Map[Around[#1, RandomReal[3]]&, data], {2010, 1, 1}]StackedDateListPlot[MapAt[Interval[{# - 5, # + 5}]&, data, {All, All}], {2010, 1, 1}]StackedDateListPlot[MapAt[Interval[{# - 5, # + 5}]&, data, {All, All}], {2010, 1, 1}, IntervalMarkers -> "Bands"]Tabular Data (1)
Get tabular data for historical populations of several countries:
tab = Tabular[IconizedObject[«Country populations»]]Plot the total populations of France, UK and Japan from 1940 to 2020:
StackedDateListPlot[tab -> {{"Date", "France"}, {"Date", "UK"}, {"Date", "Japan"}}]Show the populations as percentages of the total:
StackedDateListPlot[tab -> {{"Date", "France"}, {"Date", "UK"}, {"Date", "Japan"}}, PlotLayout -> "Percentile"]Include legends for the plot, using the column names:
StackedDateListPlot[tab -> {{"Date", "France"}, {"Date", "Germany"}, {"Date", "Australia"}}, PlotLegends -> {"France", "UK", "Japan"}]Wrappers (8)
Use wrappers on individual data, datasets or collections of datasets:
{StackedDateListPlot[{Style[{1, 1, 2, 3, 5, 8}, Green], {2, 3, 5, 7, 11}}, {2014, 8}], StackedDateListPlot[Style[{{1, 1, 2, 3, 5, 8}, {2, 3, 5, 7, 11}}, Blue], {2014, 8}]}StackedDateListPlot[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:
StackedDateListPlot[Tooltip[{Prime[Range[10]], Prime[Range[10]]}], {2014, 8}, Mesh -> Full]Use a specific label for all the points:
StackedDateListPlot[Tooltip[{Prime[Range[10]], Prime[Range[10]]}, "primes"], {2014, 8}, Mesh -> Full]Use PopupWindow to provide additional drilldown information:
StackedDateListPlot[{{1, PopupWindow[2, StackedDateListPlot[FinancialData["IBM", "Jan. 1, 2004"]]], 3},
{1, PopupWindow[2, StackedDateListPlot[FinancialData["IBM", "Jan. 1, 2004"]]], 3}}, {2004, 1}, Mesh -> Full, PlotStyle -> PointSize[0.05]]Button can be used to trigger any action:
StackedDateListPlot[{{1, Button[2, Speak[2]], 3}, {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:
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];{StackedDateListPlot[Annotation[{data, data}, "label", "Mouse"]], Dynamic[MouseAnnotation[]]}Use Hyperlink to jump to the specified link when clicked:
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];StackedDateListPlot[Hyperlink[{data, data}, "http://www.wolfram.com"]]Use StatusArea to display a string in the status area of the current notebook:
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];StackedDateListPlot[StatusArea[{data, data}, "String"]]Labeling and Legending (11)
Label data with Labeled:
data1 = Accumulate@RandomInteger[10, 10];data2 = Accumulate@RandomInteger[3, 10];StackedDateListPlot[{Labeled[data1, "company1"], Labeled[data2, "company2"]}, {2010, 1, 1}]Label points with automatically positioned text:
StackedDateListPlot[{Table[Labeled[RandomReal[], i], {i, 15}], Table[Labeled[RandomReal[], i], {i, 15}]}, {2010, 1, 1}, PlotMarkers -> Automatic]Place the labels relative to the points:
Table[StackedDateListPlot[{Table[Labeled[RandomReal[], i, p], {i, 6}], Table[Labeled[RandomReal[], i, p], {i, 6}]}, {2010, 1, 1}, PlotMarkers -> Automatic, PlotLabel -> p], {p, {Above, Below, Before, After}}]Label data with PlotLabels:
data1 = Accumulate@RandomInteger[10, 10];data2 = Accumulate@RandomInteger[3, 10];StackedDateListPlot[{data1, data2}, {2000}, PlotLabels -> {"company1", "company2"}]Include legends for each curve:
data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];StackedDateListPlot[{data1, data2}, {2000}, PlotLegends -> {"company1", "company2"}]data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[8, 20];StackedDateListPlot[{Callout[data1, "company1"], Callout[data2, "company2"]}, {2000, 8}]Specify the maximum size of labels:
data = Rule[TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], RandomWord[7]];StackedDateListPlot[{data, data}, LabelingSize -> 30]StackedDateListPlot[{data, data}, LabelingSize -> Full]For dense sets of points, some labels may be turned into tooltips by default:
data = Rule[TimeSeries[RandomReal[1, 100], {"Jan 1, 2015"}], RandomWord[100]];StackedDateListPlot[{data, data}, PlotMarkers -> Automatic, Joined -> False]Increasing the size of the plot will show more labels:
StackedDateListPlot[{data, data}, ImageSize -> 400, Joined -> False, PlotMarkers -> Automatic]Use Legended to provide a legend for a specific dataset:
data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];StackedDateListPlot[{data1, data2, Legended[data1 - data2, "difference"]}, {200}]Use Placed to change the legend location:
StackedDateListPlot[{data1, data2, Legended[data1 - data2, Placed["difference", Bottom]]}, {200}]Use Association keys as labels:
data1 = Accumulate@RandomInteger[10, 20];data2 = Accumulate@RandomInteger[3, 20];StackedDateListPlot[<|"company A" -> data1, "company B" -> data2|>, {2000}, PlotLabels -> Automatic, PlotLegends -> None]Plots usually have interactive callouts showing the coordinates when you mouse over them:
StackedDateListPlot[{Range[15], Range[15]}, {2007}]Including specific wrappers or interactions, such as tooltips, turns off the interactive features:
StackedDateListPlot[Callout[{Range[15], Range[15]}, "hello", "01/01/2012"], {2007}]Choose from multiple interactive highlighting effects:
{StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "Dropline"], StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "XSlice"]}Presentation (5)
Multiple curves are automatically colored to be distinct:
data = {FinancialData["AAPL", "Volume", {{2010, 1}, {2010, 2}}], FinancialData["MSFT", "Volume", {{2010, 1}, {2010, 2}}]};StackedDateListPlot[data]Provide explicit styling to different curves:
data = {FinancialData["AAPL", "Volume", {{2010, 1}, {2010, 2}}], FinancialData["MSFT", "Volume", {{2010, 1}, {2010, 2}}]};StackedDateListPlot[data, PlotStyle -> {Dashed, Red}]Include legends for each dataset:
data = {FinancialData["AAPL", "Volume", {{2010, 1}, {2010, 2}}], FinancialData["MSFT", "Volume", {{2010, 1}, {2010, 2}}]};StackedDateListPlot[data, PlotLegends -> {"AAPL", "MSFT"}]Use a theme with detailed ticks and grid lines:
data = {FinancialData["AAPL", "Volume", {{2010, 1}, {2010, 2}}], FinancialData["MSFT", "Volume", {{2010, 1}, {2010, 2}}]};StackedDateListPlot[data, PlotTheme -> "Detailed"]StackedDateListPlot[data, PlotTheme -> "Web"]Use shapes to distinguish different datasets:
data = {FinancialData["AAPL", "Volume", {{2010, 1}, {2010, 2}}], FinancialData["MSFT", "Volume", {{2010, 1}, {2010, 2}}]};StackedDateListPlot[data, Mesh -> Full, PlotMarkers -> Automatic]Options (82)
AspectRatio (1)
By default, StackedDateListPlot uses a fixed height-to-width ratio for the plot:
data1 = TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}];
data2 = TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}];StackedDateListPlot[{data1, data2}]Make the height the same as the width with AspectRatio1:
StackedDateListPlot[{data1, data2}, AspectRatio -> 1]AspectRatioFull adjusts the height and width to tightly fit inside other constructs:
plot = StackedDateListPlot[{data1, data2}, AspectRatio -> Full];{Framed[Pane[plot, {50, 100}]], Framed[Pane[plot, {150, 150}]], Framed[Pane[plot, {100, 50}]]}Axes (1)
By default, StackedDateListPlot uses a frame instead of axes:
data1 = TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}];
data2 = TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}];StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> False]StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> True]Turn on each axis individually:
{StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> {True, False}], StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> {False, True}]}AxesLabel (4)
No axes labels are drawn by default:
StackedDateListPlot[{TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}]}, Frame -> False, Axes -> True]StackedDateListPlot[{TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}]}, Frame -> False, Axes -> True, AxesLabel -> value]StackedDateListPlot[{TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}]}, Frame -> False, Axes -> True, AxesLabel -> {date, value}]StackedDateListPlot[{TimeSeries[QuantityArray[{1, 1, 2, 3, 5, 8, 11}, "Meters"], {"Jan 1, 2015"}], TimeSeries[QuantityArray[{5, 8, 9, 6, 2, 4, 7}, "Meters"], {"Jan 1, 2015"}]}, Frame -> False, Axes -> True, AxesLabel -> Automatic]AxesOrigin (2)
The position of the axes is determined automatically:
StackedDateListPlot[{TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}]}, Frame -> False, Axes -> True]Specify an explicit origin for the axes:
StackedDateListPlot[{TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}], TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}]}, Frame -> False, Axes -> True, AxesOrigin -> {"Jan 4, 2015", 0}]AxesStyle (1)
Change the style for the axes:
data1 = TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}];
data2 = TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}];StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> True, AxesStyle -> Red]Specify the style of each axis:
StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> True, AxesStyle -> {{Thick, Red}, {Thick, Blue}}]Use different styles for the ticks and the axes:
StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> True, AxesStyle -> Green, TicksStyle -> StandardGray]Use different styles for the labels and the axes:
StackedDateListPlot[{data1, data2}, Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> StandardGray]DateFunction (2)
Prepend a year to create dates from {month,day} lists:
data = {{{10, 1}, 8}, {{10, 10}, 10}, {{10, 20}, 12}, {{10, 24}, 14}, {{11, 5}, 15}, {{11, 15}, 20}};StackedDateListPlot[{data, data}, DateFunction :> (Join[{2006}, #]&)]Define functions for interpreting ambiguous date strings:
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}};StackedDateListPlot[{data, data}, DateFunction :> (DateList[{#, {"Month", "Day", "YearShort"}}]&)]StackedDateListPlot[{data, data}, DateFunction :> (DateList[{#, {"Day", "Month", "YearShort"}}]&)]StackedDateListPlot[{data, data}, DateFunction :> (DateList[{#, {"YearShort", "Month", "Day"}}]&)]DateTicksFormat (1)
Specify the format of date ticks as DateString elements:
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}};StackedDateListPlot[{data, data}, DateTicksFormat -> {"MonthShort", "/", "Day"}]Epilog (1)
Place text using a shortened DateList as the
coordinate:
StackedDateListPlot[{Range[10], Range[10]}, {2007}, Epilog :> Text["linear trend", {{2010, 1, 15}, 6}]]Filling (1)
FrameTicks (2)
Give explicit dates for horizontal ticks:
StackedDateListPlot[{Sqrt[Range[10]], Sqrt[Range[10]]}, {2007, 4, 10}, FrameTicks -> {{Automatic, Automatic}, {{{2007, 4, 12}, {2007, 4, 18}}, Automatic}}]Use different date specifications:
StackedDateListPlot[{Sqrt[Range[10]], Sqrt[Range[10]]}, {2007, 4, 10}, FrameTicks -> {{Automatic, Automatic}, {{"April 12, 2007", "April 18, 2007"}, Automatic}}]StackedDateListPlot[{Sqrt[Range[10]], Sqrt[Range[10]]}, {2007, 4, 10}, FrameTicks -> {{Automatic, Automatic}, {{3385324800, 3385843200}, Automatic}}]Include a specific tick label, length and style:
StackedDateListPlot[{Sqrt[Range[10]], Sqrt[Range[10]]}, {2007, 4, 10}, FrameTicks -> {{Automatic, Automatic}, {{{{2007, 4, 15}, "tax day", .05, Red}}, None}}]GridLines (1)
Include grid lines at specific dates:
StackedDateListPlot[{Sqrt[Range[15]], Sqrt[Range[15]]}, {2007, 4, 10}, GridLines -> {{{2007, 4, 15}, "Apr 22, 2007"}, None}]Make the first grid line Blue:
StackedDateListPlot[{Sqrt[Range[15]], Sqrt[Range[15]]}, {2007, 4, 10}, GridLines -> {{{{2007, 4, 15}, Blue}, "Apr 22, 2007"}, None}]IntervalMarkers (3)
By default, uncertainties are capped:
StackedDateListPlot[Table[Around[RandomReal[], 0.1], 3, 10], Today]Use bars to denote uncertainties without caps:
StackedDateListPlot[Table[Around[RandomReal[], 0.1], 3, 10], Today, IntervalMarkers -> "Bars"]Use bands to represent uncertainties:
StackedDateListPlot[Table[Around[RandomReal[], 0.1], 3, 10], Today, IntervalMarkers -> "Bands"]IntervalMarkersStyle (2)
Uncertainties automatically inherit the plot style:
StackedDateListPlot[Table[Around[RandomReal[], 0.1], 2, 10], Today, PlotStyle -> {Red, Blue}]Specify the style for uncertainties:
StackedDateListPlot[Table[Around[RandomReal[], 0.1], 2, 10], Today, IntervalMarkersStyle -> Gray]Joined (2)
Plot data with points joined by a line:
StackedDateListPlot[Sin[Range[100] / Pi], {2006, 1, 1}, Joined -> True]Plot multiple datasets with points joined:
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}};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}};StackedDateListPlot[{data1, data2}, Joined -> True]Only join points for the first dataset:
StackedDateListPlot[{data1, data2}, Joined -> {True, False}]LabelingFunction (3)
By default, points are automatically labeled with strings:
StackedDateListPlot[{1, 1, 2, 3, 5, 8} -> {"a", "b", "c", "d", "e", "f"}, {2000}]Use LabelingFunction->None to suppress the labels:
StackedDateListPlot[{1, 1, 2, 3, 5, 8} -> {"a", "b", "c", "d", "e", "f"}, {2000}, LabelingFunction -> None]Put the labels above the points:
StackedDateListPlot[{1, 1, 2, 3, 5, 8} -> {"a", "b", "c", "d", "e", "f"}, {2000}, LabelingFunction -> (Placed[Last@#1, Above] &)]StackedDateListPlot[{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:
data = TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {"healthfulness", "obstreperous", "spectrogram", "vestige", "coinage", "limey"};StackedDateListPlot[{data, data}, ImageSize -> Medium]Image labels are automatically resized:
data = TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {[image], [image], [image], [image], [image], [image]};StackedDateListPlot[{data, data}, ImageSize -> Medium]Specify a maximum size for textual labels:
data = TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {"healthfulness", "obstreperous", "spectrogram", "vestige", "coinage", "limey"};StackedDateListPlot[{data, data}, ImageSize -> Medium, LabelingSize -> 30]Specify a maximum size for image labels:
data = TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {[image], [image], [image], [image], [image], [image]};StackedDateListPlot[{data, data}, ImageSize -> Medium, LabelingSize -> 20]Show image labels at their natural sizes:
data = TimeSeries[{1, 1, 2, 3, 5, 8}, {"Jan 1, 2015"}] -> {[image], [image], [image], [image], [image], [image]};StackedDateListPlot[{data, data}, ImageSize -> Medium, LabelingSize -> Full]LabelingTarget (6)
Labels are automatically placed to maximize readability:
StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today]StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today, LabelingTarget -> All]Use a denser layout for the labels:
StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today, LabelingTarget -> "Dense"]Show the half of the labels that are easiest to read:
StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today, LabelingTarget -> 0.5]Only allow labels that are orthogonal to the points:
StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today, LabelingTarget -> <|"AllowedLabelingPositions" -> "Sides"|>]Only allow labels that are diagonal to the points:
StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today, LabelingTarget -> <|"AllowedLabelingPositions" -> "Corners"|>]Allow labels to be clipped by the edges of the plot:
StackedDateListPlot[{IconizedObject[«Subscript[data, 1]»], IconizedObject[«Subscript[data, 2]»]}, Today, LabelingTarget -> <|"AllowLabelClipping" -> True|>]PlotFit (4)
Automatically fit a model to the data:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> Automatic]Fit a straight line to the data:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> "Linear"]Fit a quadratic curve to the data:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> "Quadratic"]Use KernelModelFit to approximate the data:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> "Kernel"]PlotFitElements (3)
By default, the fitted model is shown with the data points:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> Automatic]Plot confidence bands for the data, with a default confidence level of 0.95:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> Automatic, PlotFitElements -> "BandCurves"]Use a confidence level of 0.5 for the bands:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> Automatic, PlotFitElements -> {"BandCurves", <|"ConfidenceLevel" -> 0.5|>}]Show residual lines from the data points to the fitted curve:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> Automatic, PlotFitElements -> "Residuals"]Combine the original points with gray residual lines:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}, PlotFit -> Automatic, PlotFitElements -> {"DataPoints", {"Residuals", <|"Style" -> Gray|>}}]PlotHighlighting (8)
Plots have interactive coordinate callouts with the default setting PlotHighlightingAutomatic:
StackedDateListPlot[{Range[15], Range[15]}, {2007}]Use PlotHighlightingNone to disable the highlighting for the entire plot:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> None]Move the mouse over the points to highlight them with balls and labels:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "Dropline"]Move the mouse over the curve to highlight it with a label and droplines to the axes:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "Dropline"]Move the mouse over the plot to highlight it with a slice showing
values corresponding to the date position:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "XSlice"]Move the mouse over the plot to highlight it with a slice showing date values corresponding to the
position:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "YSlice"]Use a component that shows the points on the plot closest to the
position of the mouse cursor:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "XNearestPoint"]Specify the style for the points:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> {"XNearestPoint", <|"Style" -> Black|>}]Use a component that shows the coordinates on the points closest to the mouse cursor:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> "XYLabel"]Use Callout options to change the appearance of the label:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}]Combine components to create a custom effect:
StackedDateListPlot[{Range[15], Range[15]}, {2007}, PlotHighlighting -> {{"XNearestPoint", <|"Style" -> Black|>}, {"XYLabel", <|"Appearance" -> "Corners", "CalloutMarker" -> "Circle"|>}}]PlotInteractivity (4)
Plots have interactive highlighting by default:
StackedDateListPlot[{{2, 3, 5, 7, 11}, {13, 17, 19, 23, 29}}, Today]Turn off all the interactive elements:
StackedDateListPlot[{{2, 3, 5, 7, 11}, {13, 17, 19, 23, 29}}, Today, PlotInteractivity -> False]Interactive elements provided as part of the input are disabled:
StackedDateListPlot[{{2, 3, 5, 7, 11}, Tooltip[{13, 17, 19, 23, 29}, "hello"]}, Today, PlotInteractivity -> False]Allow provided interactive elements and disable automatic ones:
StackedDateListPlot[{{2, 3, 5, 7, 11}, Tooltip[{13, 17, 19, 23, 29}, "hello"]}, Today, PlotInteractivity -> <|"User" -> True, "System" -> False|>]PlotLabel (1)
PlotLabels (4)
data1 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], RandomReal[10, 15]}];data2 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], RandomReal[10, 15]}];StackedDateListPlot[{data1, data2}, PlotLabels -> {"label1", "label2"}]Place the label above the data:
ge = FinancialData["GE", "Jan. 1, 2000"];ford = FinancialData["Ford", "Jan. 1, 2000"];StackedDateListPlot[{Most[Normal@ge], ford}, PlotLabels -> Placed["high", Above]]Place the label below the data at a specific date:
StackedDateListPlot[{Most[Normal@ge], ford}, PlotLabels -> Placed["label", {DateObject[{2009, 1, 1}], Below}]]Use a callout to label the curve:
StackedDateListPlot[{Most[Normal@ge], ford}, PlotLabels -> Callout["label", {DateObject[{2009, 1, 1}], Above}]]PlotLabelAutomatic uses keys of an Association as data labels:
StackedDateListPlot[<|"a" -> RandomInteger[{3, 10}, 10], "b" -> RandomInteger[{3, 10}, 10]|>, {2007}, PlotLabels -> Automatic, PlotLegends -> None]Use None to not add a label:
data1 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], RandomInteger[{3, 10}, 15]}];
data2 = Transpose[{DateRange[{2000, 1, 1}, {2000, 1, 15}], RandomInteger[{3, 10}, 15]}];StackedDateListPlot[{data1, data2}, PlotLabels -> {"label1", None}]PlotLayout (1)
Multiple sets are stacked by default:
data1 = TimeSeries[{1, 1, 2, 3, 5, 8, 11}, {"Jan 1, 2015"}];
data2 = TimeSeries[{5, 8, 9, 6, 2, 4, 7}, {"Jan 1, 2015"}];
data3 = TimeSeries[{3, 1, 7, 9, 6, 4, 8}, {"Jan 1, 2015"}];StackedDateListPlot[{data1, data2, data3}, PlotLayout -> "Stacked"]Normalize the data to be percentages of the total:
StackedDateListPlot[{data1, data2, data3}, PlotLayout -> "Percentile"]PlotLegends (6)
PlotLegends matches up styles in the plot:
StackedDateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotStyle -> {Directive[AbsolutePointSize[4], Blue], Directive[AbsolutePointSize[8], Red]}, PlotLegends -> Automatic]PlotLegends matches up markers in the plot:
StackedDateListPlot[{Range[10], Range[10] ^ 2}, {2007}, PlotMarkers -> Automatic, PlotLegends -> Automatic]StackedDateListPlot[{Range[10], Range[10] + 3, Sqrt@Range[10], Log@Range[10]}, {2007}, PlotLegends -> {"a", "b", "c", "d"}]Use MetaInformation from a TimeSeries:
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:
data["MetaInformation"]The metal list can be extracted directly:
data["MetalList"]StackedDateListPlot[data, PlotLegends -> data["MetalList"]]Use Placed to specify legend placement:
Table[StackedDateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotLegends -> Placed[Automatic, pos], PlotLabel -> pos], {pos, {Above, Below}}]Table[StackedDateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotLegends -> Placed[Automatic, pos], PlotLabel -> pos], {pos, {Before, After}}]Use PointLegend to change legend appearance:
StackedDateListPlot[{Range[10], Range[10] + 3}, {2007}, PlotLegends -> PointLegend[Automatic, {"list1", "list2"}, LegendFunction -> Panel, LegendMargins -> 5]]PlotRange (1)
PlotTheme (2)
StackedDateListPlot[{Sqrt[Range[20]], Log[Range[20]]}, {2007, 1, 1}, PlotTheme -> "Web"]StackedDateListPlot[{Sqrt[Range[20]], Log[Range[20]]}, {2007, 1, 1}, PlotTheme -> "Web", PlotStyle -> {StandardCyan, StandardMagenta}]Prolog (1)
Place text using a shortened DateList as the
coordinate:
StackedDateListPlot[{Range[10], Range[10]}, {2007}, Prolog :> Text["linear trend", {{2010, 1, 15}, 6}]]ScalingFunctions (1)
By default, plots have linear scales in each direction:
data = TimeSeries[{1, 1, 4, 9, 25, 64, 121}, {"Jan 1, 2015"}];StackedDateListPlot[{data, data}]Use a log scale in the
direction:
StackedDateListPlot[{data, data}, ScalingFunctions -> "Log"]Use a linear scale in the
direction that shows smaller numbers at the top:
StackedDateListPlot[{data, data}, ScalingFunctions -> "Reverse"]Use a reciprocal scale in the
direction:
StackedDateListPlot[{data, data}, ScalingFunctions -> "Reciprocal"]Use a scale defined by a function and its inverse:
StackedDateListPlot[{data, data}, ScalingFunctions -> {-Log[#]&, Exp[-#]&}]Positions in FrameTicks and GridLines are automatically scaled:
StackedDateListPlot[{data, data}, ScalingFunctions -> "Log", FrameTicks -> {Automatic, 2 ^ Range[0, 10]}, GridLines -> {None, 2 ^ Range[0, 10]}]PlotRange is automatically scaled:
StackedDateListPlot[{data, data}, ScalingFunctions -> "Log", PlotRange -> {0.5, 500}]TargetUnits (1)
Units are automatically extracted from the data:
StackedDateListPlot[Quantity[{Sqrt[Range[10]], Sqrt[Range[10]]}, "Kilograms"], {2010, 1, 1}, FrameLabel -> Automatic]StackedDateListPlot[Quantity[{Sqrt[Range[10]], Sqrt[Range[10]]}, "Kilograms"], {2010, 1, 1}, FrameLabel -> Automatic, TargetUnits -> "Pounds"]Ticks (4)
Ticks are placed automatically in each plot:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True]Use TicksNone to not draw any tick marks:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, Ticks -> None]Place tick marks at specific positions:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, Ticks -> {{"Jan 03,2020", "Jan 05,2020", "Jan 07,2020"}, {2, 7, 15}}]Draw tick marks at the specified positions with the specified labels:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, Ticks -> {{{"Jan 03,2020", "day A"}, {"Jan 05,2020", "day B"}, {"Jan 07,2020", "day C"}}, {{7, A}, {12, B}, {18, Text[C]}}}]TicksStyle (4)
Specify the overall tick style, including the tick labels:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, TicksStyle -> Directive[Red, Bold]]Specify the tick style for each of the axes:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, TicksStyle -> {Directive[StandardGray, Bold], Directive[Bold, Red]}]Specify tick marks with scaled lengths:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, Ticks -> {{{"Jan 03,2020", "day A", .22}, {"Jan 05,2020", "day B", .38}, {"Jan 07,2020", "day C", .57}}, {{7, A, .32}, {12, B, .64}, {18, Text[C], .96}}}]Customize each tick with position, length, labeling and styling:
StackedDateListPlot[{{7, 3, 7, 3, 6, 4, 9}, {3, 4, 6, 9, 6, 3, 9}}, {2020, 1, 1}, Frame -> False, Axes -> True, Ticks -> {{{"Jan 03,2020", "day A", .22, Directive[Red, Thick]}, {"Jan 05,2020", "day B", .38, Directive[Blue, Thick]}, {"Jan 07,2020", "day C", .57, Directive[Darker@Green, Thick]}}, {{7, A, .32, Directive[Red, Dashed, Thick]}, {12, B, .64, Directive[Blue, Dashed, Thick]}, {18, Text[C], .96, Directive[Darker@Green, Dashed, Thick]}}}]Applications (1)
Plot the value of stocks in a simple portfolio:
StackedDateListPlot[{FinancialData["GE", {2020, 1, 1}], FinancialData["IBM", {2020, 1, 1}]}]Plot the value of a portfolio with 100 shares of GE and 50 shares of IBM:
StackedDateListPlot[{100 FinancialData["GE", {2020, 1, 1}], 50 FinancialData["IBM", {2020, 1, 1}]}]Properties & Relations (2)
Date coordinates are plotted as absolute times:
data = Transpose[{Table[{1900, 1, 1, i}, {i, 24}], Range[24]}];StackedDateListPlot[{data, data}, GridLines -> {{5 10 ^ 4}, None}]A ListPlot using the AbsoluteTime values:
lpdata = data;
lpdata[[All, 1]] = Map[AbsoluteTime, data[[All, 1]]];ListPlot[lpdata, GridLines -> {{5 10 ^ 4}, None}, Frame -> True]DateListLogPlot plots date‐based data on a logarithmic scale:
DateListLogPlot[Exp[Range[15]], {2008, 1, 1}]StackedDateListPlot[{Exp[Range[15]], Exp[Range[15]]}, {2008, 1, 1}]Related Guides
History
Introduced in 2017 (11.2) | Updated in 2019 (12.0) ▪ 2023 (13.3) ▪ 2025 (14.2) ▪ 2025 (14.3) ▪ 2026 (15.0)
Text
Wolfram Research (2017), StackedDateListPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/StackedDateListPlot.html (updated 2026).
CMS
Wolfram Language. 2017. "StackedDateListPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. https://reference.wolfram.com/language/ref/StackedDateListPlot.html.
APA
Wolfram Language. (2017). StackedDateListPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StackedDateListPlot.html
BibTeX
@misc{reference.wolfram_2026_stackeddatelistplot, author="Wolfram Research", title="{StackedDateListPlot}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/StackedDateListPlot.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_stackeddatelistplot, organization={Wolfram Research}, title={StackedDateListPlot}, year={2026}, url={https://reference.wolfram.com/language/ref/StackedDateListPlot.html}, note=[Accessed: 13-June-2026]}