# Plot a Time Series

### Description

Plots 'timeSeries' objects and add lines and points.

### Usage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ```
## S4 method for signature 'timeSeries'
plot(x, y, FinCenter = NULL,
plot.type = c("multiple", "single"), format = "auto",
at = pretty(x), widths = 1, heights = 1, xy.labels,
xy.lines, panel = lines, nc, yax.flip = FALSE,
mar.multi = c(0, 5.1, 0, if (yax.flip) 5.1 else 2.1),
oma.multi = c(6, 0, 5, 0), axes = TRUE, ...)
## S4 method for signature 'timeSeries'
lines(x, FinCenter = NULL, ...)
## S4 method for signature 'timeSeries'
points(x, FinCenter = NULL, ...)
## S3 method for class 'timeSeries'
pretty(x, n=5, min.n=n%/%3, shrink.sml=0.75,
high.u.bias=1.5, u5.bias=0.5+1.5*high.u.bias, eps.correct=0, ...)
``` |

### Arguments

`x, y ` |
objects of class |

`FinCenter` |
a character with the the location of the financial center
named as |

`plot.type` |
for multivariate time series, should the series by plotted separately (with a common time axis) or on a single plot? |

`format` |
POSIX label format, e.g. "%Y-%m-%d" or "%F" for ISO-8601 standard date format. |

`at` |
a |

`widths, heights` |
widths and heights for individual graphs, see |

`xy.labels` |
logical, indicating if |

`xy.lines` |
logical, indicating if |

`panel` |
a |

`nc` |
the number of columns to use when |

`yax.flip` |
logical indicating if the y-axis (ticks and numbering) should
flip from side 2 (left) to 4 (right) from series to series
when |

`mar.multi, oma.multi` |
the (default) |

`axes` |
logical indicating if x- and y- axes should be drawn. |

`n` |
an integer giving the desired number of intervals. |

`min.n` |
a nonnegative integer giving the minimal number of intervals. |

`shrink.sml` |
a positive numeric by a which a default scale is shrunk in the case when range(x) is very small. |

`high.u.bias` |
a non-negative numeric, typically > 1. Larger high.u.bias values favor larger units. |

`u5.bias` |
a non-negative numeric multiplier favoring factor 5 over 2. |

`eps.correct` |
an integer code, one of 0,1,2. If non-0, a correction is made at the boundaries. |

`...` |
additional graphical arguments, see |

### Details

The original plotting function `plot`

was build along R's
plotting function `plot.ts`

with an additional argument
to tailor the position marks at user defined position
specified by the argument `at`

. We call this style or
theme "ts".

With Verison R 3.1 we have inroduced two new additionol
plotting themes called "pretty" and "chick". They are becoming
active when we set `at="pretty"`

or `at="chic"`

.

Plot style or theme "pretty" is an extension of our original plotting function.

Plot style or theme "chic" an implementation along the contributed
packages `xts`

and `PerformanceAnalytics`

from the Chicago
finance group members. "Chicago" gave the name to call the
them `"chic"`

.

For both themes, "pretty" and "chic" additional arguments are passed
through the `...`

arguments. These are:

`Argument:` | Default: | Description: |

`type` | "l" | types pf plot |

`col` | 1 | colors for lines and points |

`pch` | 20 | plot symbol |

`cex` | 1 | character and symbol scales |

`lty` | 1 | line types |

`lwd` | 2 | line widths |

`cex.axes` | 1 | scale of axes |

`cex.lab` | 1 | scale of labels |

`cex.pch` | 1 | scale of plot symbols |

`grid` | TRUE | should grid lines plotted? |

`frame.plot` | TRUE | should b box around the plot? |

`axes` | TRUE | should be axes drawn on the plot? |

`ann` | TRUE | should default annotations appear? |

Concerning the plot elements, the length of these vectors has to be the same as the number of columns in the time series to be plotted. If their length is only one, then tey are repeated.

There is an almost 70 pages vignette added to the package, with dozens of examples of tailored plots. Have a look in it.

### Value

Displays a plot or plot elements of an object of class 'timeSeries'.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | ```
## Load Swiss Pension Fund Benchmark Data -
LPP <- LPP2005REC[1:12, 1:4]
colnames(LPP) <- abbreviate(colnames(LPP), 2)
finCenter(LPP) <- "GMT"
## Example Plot 1 -
plot(LPP[, 1], type = "o", col = "steelblue",
main = "LPP", xlab = "2005", ylab = "Return")
plot(LPP[, 1], at="auto", type = "o", col = "steelblue",
main = "LPP", xlab = "2005", ylab = "Return")
## Example Plot 2 -
plot(LPP[, 1:2], type = "o", col = "steelblue",
main = "LPP", xlab = "2005", ylab = "Return")
## Example Plot 3 -
plot(LPP[, 1], LPP[, 2], type = "p", col = "steelblue",
main = "LPP", xlab = "Return 1", ylab = "Return 2")
## Example Plot 4a, The Wrong Way to do it! -
LPP <- as.timeSeries(data(LPP2005REC))
ZRH <- as.timeSeries(LPP[,"SPI"], zone = "Zurich", FinCenter = "Zurich")
NYC <- as.timeSeries(LPP[,"LMI"], zone = "NewYork", FinCenter = "NewYork")
finCenter(ZRH)
finCenter(NYC)
plot(ZRH, at="auto", type = "p", pch = 19, col = "blue")
points(NYC, pch = 19, col = "red")
## Example Plot 4b, Convert NYC to Zurich Time -
finCenter(ZRH) <- "Zurich"
finCenter(NYC) <- "Zurich"
at <- unique(round(time(ZRH)))
plot(ZRH, type = "p", pch = 19, col = "blue", format = "%b %d", at = at,
xlab = paste(ZRH@FinCenter, "local Time"), main = ZRH@FinCenter)
points(NYC, pch = 19, col = "red")
## Example 4c, Force Everything to GMT Using "FinCenter" Argument -
finCenter(ZRH) <- "Zurich"
finCenter(NYC) <- "NewYork"
at <- unique(round(time(ZRH)))
plot(ZRH, type = "p", pch = 19, col = "blue", format = "%b %d", at = at,
FinCenter = "GMT", xlab = "GMT", main = "ZRH - GMT")
points(NYC, FinCenter = "GMT", pch = 19, col = "red")
``` |