[R-SIG-Finance] Seasonal plot of daily data

Gabor Grothendieck ggrothendieck at gmail.com
Mon Aug 2 18:31:43 CEST 2010

On Mon, Aug 2, 2010 at 11:28 AM, SNV Krishna <snvk4u at gmail.com> wrote:
> Hi All,
> I have daily closing prices of a particular commodity. I would like to generate annual plot of the series so as to get a visual feel of the seasonality across years.
> For ex I have crude oil daily price data since 2002. I would like to have multiple lines on a single plot, each line represents each year and plotted against day of year on x-axis. I tried reading the data as zoo or xts objects, but unable to plot multiple series on a single plot. Can any one help me out in this regard?
> Thanks in advance for the help, rgds

Try this:


# input data
DF <- data.frame(date = as.Date(0:999), value = 1:1000)

# create columns for year and
# julian day (1st, 2nd, ... day of the year)

DF$year <- cut(DF$date, "year")
DF$jul <- ave(DF$value, DF$year, FUN = seq_along)

# split into 1 col per year. year is col 2. index is col 3.
z <- read.zoo(DF[-1], index = 3, split = 2)

# plot - screen = 1 causes all columns to be in same frame
colors <- 1:ncol(z)
plot(z, screen = 1, col = colors)
legend("bottomright", leg = substr(levels(DF$year), 1, 4), fill = colors)

More information about the R-SIG-Finance mailing list