Re: Multi-Colored Filling in DateListPlot

• To: mathgroup at smc.vnet.net
• Subject: [mg104124] Re: Multi-Colored Filling in DateListPlot
• From: "David Park" <djmpark at comcast.net>
• Date: Tue, 20 Oct 2009 04:51:54 -0400 (EDT)
• References: <20214052.1255951567803.JavaMail.root@n11>

```One way to do this is with the Presentations package.

Needs["Presentations`Master`"]

Write routines to generate DateListPlot date iterators for each quarter over
a span of years.

Q1Iter[year1_, year2_] :=
Table[{"Jan 1, " <> ToString[year],
"Mar 31, " <> ToString[year]}, {year, year1, year2}]
Q2Iter[year1_, year2_] :=
Table[{"Apr 1, " <> ToString[year],
"Jun 30, " <> ToString[year]}, {year, year1, year2}]
Q3Iter[year1_, year2_] :=
Table[{"Jul 1, " <> ToString[year],
"Sep 30, " <> ToString[year]}, {year, year1, year2}]
Q4Iter[year1_, year2_] :=
Table[{"Oct 1, " <> ToString[year],
"Dec 31, " <> ToString[year]}, {year, year1, year2}]

Then just draw the quarters with their separate filling color. Use
CustomDateTicks to label the time axis.

dateticks =
CustomDateTicks[{{2005, 1, 1}, {2010, 1, 1}, {1, "Year"}, 4},
DateString[#, {"Year"}] &];

Draw2D[
{DateListDraw[FinancialData["GE", #],
AxesOrigin -> {Automatic, 0},
Filling -> Axis,
FillingStyle -> Lighter@Blue,
Joined -> True] & /@ Join[Q1Iter[2005, 2009], Q3Iter[2005, 2009]],
DateListDraw[FinancialData["GE", #],
AxesOrigin -> {Automatic, 0},
Filling -> Axis,
FillingStyle -> Lighter@Red,
Joined -> True] & /@ Join[Q2Iter[2005, 2009], Q4Iter[2005, 2008]]
},
AspectRatio -> .3,
Frame -> True,
FrameTicks -> {{Automatic, Automatic}, {dateticks,
dateticks // NoTickLabels}},
PlotLabel -> Style["GE Stock Price", 14, Bold],
ImageSize -> 500]

David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/

From: jroge [mailto:jroge at mac.com]

I am working on developing some financial reports and I have gotten
stuck on using multiple colors in the filling of a DateListPlot. I
would like to have the color of the filling alternate between blue and
pink each quarter (or year depending on the plot) rather than a single
color in the entire filling. Here is an example of what I am trying to
do:

http://online.wsj.com/article/SB125479559237566623.html

I suspect that FillingStyle is the function I need to use, but calling
out each quarter's (or year's) data is beyond me. Any thoughts? I have
been using a fairly generic plot of GE stock data for exploration:

DateListPlot[FinancialData["GE", "Jan. 1, 2008"], Joined -> True,
Filling -> Bottom]

Thanks,

Jroge

```

• Prev by Date: Re: options for VectorPlot in version 7 vs VectorFieldPlot in version 6
• Next by Date: Re: How to find which variable caused the trigger in Manipulate[]
• Previous by thread: Re: Multi-Colored Filling in DateListPlot
• Next by thread: Re: Multi-Colored Filling in DateListPlot