Cannot plot Quantity values with DateListPlot

8

1

Bug introduced in 9.0.0 and fixed in 9.0.1

Quantity is new in 9.0.0


Is there a way to use DateListPlot with Quantity values? I retrieved the following time series data from WolframAlpha:

gasPrices = WolframAlpha[
"us gas prices", {{"History:Price:GasPriceData", 1}, 
"TimeSeriesData"}];

Each data point is composed of a date and a Quantity:

{{{1993, 4, 5, 0, 0, 0.}, Quantity[1.068, ("USDollars")/("Gallons")]},
 {{1993, 4, 19, 0, 0, 0.}, Quantity[1.079, ("USDollars")/("Gallons")]},
...
 {{2012, 12, 31, 0, 0, 0.}, Quantity[3.369, ("USDollars")/("Gallons")]} }

I can plot the values using ListPlot:

 ListPlot[gasPrices[[All,2]]]

enter image description here

Strangely however, DateListPlot produces an empty plot:

 DateListPlot[gasPrices]

Empty plot from DateListPlot

To get DateListPlot to produce a proper plot I have to do this instead:

DateListPlot[ Transpose[{gasPrices[[All, 1]], gasPrices[[All, 2, 1]]}] ]

OK plot from DateListPlot

Am I missing something? I would have thought that Quantity values could be taken directly by DateListPlot, as they are by ListPlot.

jerome

Posted 2013-01-05T17:06:32.617

Reputation: 517

I tested your code and it seems that Units are not properly implemented in DateListPlot – Murta – 2013-01-05T18:36:26.447

You can also do: DateListPlot[QuantityMagnitude[gasPrices]] to remove the units. – ecoxlinux – 2013-01-15T05:23:57.143

Answers

4

This appears to work in the 9.0.1 release:

 DateListPlot[gasPrices]

enter image description here

nikko

Posted 2013-01-05T17:06:32.617

Reputation: 716