MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: Help with DateListPlot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg82215] RE: [mg82179] Help with DateListPlot
  • From: "David Annetts" <davidannetts at aapt.net.au>
  • Date: Mon, 15 Oct 2007 01:23:02 -0400 (EDT)
  • References: <200710141008.GAA25595@smc.vnet.net>

Hi,

> How do you use the DateList Plot function when you have a 
> 3-vector database. The first column is the date, the second 
> column contains the names, and the last column contains the 
> returns. I know that you have to use a loop.The data looks like this:
> Date                          Item                       return
> 1/2/01                       TBill                         0.67
> 1/3/01                        SP                          0.78
> 1/4/01                       inv                            0.5
> 1/5/01                       inve                          0.6

It's straightforward(ish).  Here is one way.

1. 	Read the file as a Table.

	data = Rest@Import["d:/Tmpfiles/test.txt", "Table"]

2.	Filter to dates & values

	date = data[[All, 1]]
	item = data[[All, 2]]
	value = data[[All, 3]]

3.	Convert your dates to the format required by DateListPlot

	cdate[str_, base_: 2000] := Module[
	  {dy, mo, yr},
	  {dy, mo, yr} = ToExpression@StringSplit[str, "/"];
	  {yr + base, mo, dy}
	  ]

4.	Plot your data

	DateListPlot[Transpose[{cdate[#] & /@ date, value}]]

You can combine steps 1 & 2 as

	{date, item, value} =  Transpose@Rest@Import["d:/Tmpfiles/test.txt",
"Table"]

No loops in sight.

Regards,

Dave.



  • Prev by Date: Re: Implicit plotting issues
  • Next by Date: ProgressIndicator Questions
  • Previous by thread: Help with DateListPlot
  • Next by thread: Re: Help with DateListPlot