Plot 'timeSeries' objects
# S4 method for 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 timeSeries lines(x, FinCenter = NULL, ...) # S4 method for timeSeries points(x, FinCenter = NULL, ...) # S3 method for 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, ...)
Our original method
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
call this style or theme
With verson R 3.1 we have inroduced two new additional plotting themes
"chick". They are becoming active
when we set
at = "pretty" or
at = "chic".
Plot style or theme
"pretty" is an extension of our original
Plot style or theme
"chic" is an implementation along the
the Chicago finance group members (
"chic" is an abbreviation of
For both themes,
arguments are passed through the
... arguments. These are:
|"l"||types pf plot|
|1||colors for lines and points|
|1||character and symbol scales|
|1||scale of axes|
|1||scale of labels|
|1||scale of plot symbols|
|TRUE||should grid lines plotted?|
|TRUE||should b box around the plot?|
|TRUE||should be axes drawn on the plot?|
|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 they 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.
- x, y
objects of class
a character with the the location of the financial center named as
for multivariate time series, should the series by plotted separately (with a common time axis) or on a single plot?
POSIX label format, e.g. "%Y-%m-%d" or "%F" for ISO-8601 standard date format.
timeDateobject setting the plot label positions. If
at=pretty(x), the postitions are generated automatized calling the function
pretty. Default option
at="auto"selects 6 equal spaced time label positions. For the new plot themes set at="pretty" or at="chic". In this case additional arguments can be passed through the
...arguments, see details.
- widths, heights
widths and heights for individual graphs, see
logical, indicating if
text()labels should be used for an x-y plot, _or_ character, supplying a vector of labels to be used. The default is to label for up to 150 points, and not for more.
logical, indicating if
linesshould be drawn for an x-y plot. Defaults to the value of
xy.labelsif that is logical, otherwise to
function(x, col, bg, pch, type, ...)which gives the action to be carried out in each panel of the display for
plot.type="multiple". The default is
the number of columns to use when
type="multiple". Defaults to 1 for up to 4 series, otherwise to 2.
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
logical indicating if x- and y- axes should be drawn.
an integer giving the desired number of intervals.
a nonnegative integer giving the minimal number of intervals.
a positive numeric by a which a default scale is shrunk in the case when range(x) is very small.
a non-negative numeric, typically > 1. Larger high.u.bias values favor larger units.
a non-negative numeric multiplier favoring factor 5 over 2.
an integer code, one of 0,1,2. If non-0, a correction is made at the boundaries.
additional graphical arguments, see
## 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) #>  "Zurich" finCenter(NYC) #>  "NewYork" 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")