tisPlot
is a function with dozens of options for creating
high quality time series plots. Can be used with screenPage
.tisPlot(...,
leftAxis = TRUE, plotType = "l",
lineType = "solid", lineWidth = 1.5,
plotChar = "*", dataCex = 1, color = 1,
midPoints = TRUE, dropNA = FALSE, xOffset = 0,
xAxisMin = NULL, xAxisMax = NULL, xExpandBy = 0.04,
xTickFreq = "Auto", xTickSkip = 0,
xUnlabeledTickFreq = "None", xUnlabeledTickSkip = 0,
xMinorTickFreq = "None", xMinorTickSkip = 0,
dateFormat = "Auto", xCex = 1,
midLabels = FALSE, yearLabels = FALSE,
xAxisLabel = NULL, xSpace = 4, log = FALSE,
leftAxisMin = NULL, leftAxisMax = NULL, leftExpandBy = 0.04,
leftTicks = 5, leftTickLocations = NULL,
labelLeftTicks = FALSE, leftTickLabels = NULL,
rightAxisMin = NULL, rightAxisMax = NULL, rightExpandBy = 0.04,
rightTicks = 5, rightTickLocations = NULL,
labelRightTicks = TRUE, rightTickLabels = NULL,
yCex = 1, extendTopTick = TRUE,
cex = 1,
head = NULL, headAlign = 0.5, headCex = 1.5,
sub = NULL, subCex = 0.85,
leftTopLabel = NULL, rightTopLabel = NULL, topLabelAlign = 0,
labCex = 1,
leftInsideLabel = NULL, rightInsideLabel = NULL,
innerLine = 0.5, innerOffset = 0.05, innerCex = 0.8,
foot = NULL, footColor = "black", footAlign = 0,
footCex = 0.8, footSpace = -1,
tck = 0.03,
axisWidth = 2,
start = 0, end = 0,
boxType = "u",
leftMargin = -1, rightMargin = -1, topMargin = -1, bottomMargin = -1,
nberShade = FALSE, nberColor = "gray", nberBorder = FALSE, nberArgs = list())
tis
series to be plotted.
Non-tis
arguments will be converted by as.tis
.leftAxis[i] = TRUE
means plot the i'th series
against the left axis, otherwise plot it against the right axis."p"
for points, "l"
for lines, "b"
for both points and lines (lines miss the
points), and "o"
for overlaid points and lines.1:nSeries
, where nSeries
is the
number of series being plotted. Normally type 1
is solid,
2
is dotted, 3 and up ar1.5
.points
for details) to be used for plotting
points.
Default is "*".cex
times these numbers give the character
expansion factor for the data points. Default is 1.midPoints[i] = TRUE
aligns the data points of the i'th
series with the middle day of the periods in which they fall,
otherwise data points are aligned with the last day of their periods.TRUE
, observations with NA
values are
dropped before calling lines.default
to draw the lines and/or
points on the plot. See the details section of the help for
lines.tis
xOffset[i]
days. This argument is replicated to be as long
as the number of series.xExpandBy
.xExpandBy
.xAxisMin
and xAxisMax
by multiplicatively
extending the data range in both directions by this amount. Default
value .04 extends the data range by 4% in each direction.tifName
. This argument and
xTickSkip
jointly specify locations for labeled x axis ticks
as follow: (i) find the ti
's of the given frequency that
correspond to xAxisMin
xTickFreq
to specify location of labeled
tick marks. The default is zero.xTickFreq
, but for unlabeled major tick locations.xTickSkip
, but for unlabeled major tick locations.xTickFreq
, but for minor tick locations.xTickSkip
, but for minor tick locations.strftime
for
formats. Default value "auto" tries to come up with a reasonable
format automatically, for some bounded value of "reasonable".cex
times this number gives the character expansion factor
for the x-axis labels. Default is 1.TRUE
(the default) x axis label are centered between the
ticks they label; if FALSE
the label alignment depends on the
setting of midPoints
. If midPoints
is TRUE
,
the labels (whiTRUE
place year labels centered under the x ticks they
span. The default is FALSE
.xAxisLabel
is not supported. No
default.4
. The space
created is xSpace
times labCex
.TRUE
use log scaling for y axes. Default is FALSE
.leftExpandBy
.leftExpandBy
.leftAxisMin
and leftAxisMax
by multiplicatively
extending the data range of the leftAxis series in both directions
by this amount. Default value .04 extends the data range by 4% in
each direction.leftTickLocations
is
non-NULL.leftTicks
take effect.TRUE
, label ticks on the left axis. Default is FALSE
.labelLeftTicks
is TRUE
, labels are constructed from
the tick locations. This argument has no effect if
labelLeftTicks
is FALSE
.rightExpandBy
.rightExpandBy
.rightAxisMin
and rightAxisMax
by multiplicatively
extending the data range of the rightAxis series in both directions
by this amount. Default value .04 extends the data range by 4% in
each direction.rightTickLocations
is non-NULL.rightTicks
take effect.TRUE
, label ticks on the right axis. Default is FALSE
.labelRightTicks
is TRUE
, labels are constructed from
the tick locations. This argument has no effect if
labelRightTicks
is FALSE
.cex
times this number gives the character expansion factor
for the left and right axis labels. Default is 1.TRUE
(the default) the top tick of the y axes encloses the
panel. leftAxisMax
and rightAxisMax
are increased as
necessary to include the top tick for enclosing the panel.***cex
parameters are scaled. The default setting is the
value of par("cex")
.headAlign
. No default.head
and
sub
. 0
means left justify, 1
means right
justify, 0.5
(the default) means to center the text. Other
numbers are a correspondincex
times this number gives the character expansion factor
for head
. Default is 1.5.head
, with alignment determined by
headAlign
. No default.cex
times this number gives the character expansion factor
for sub
. Default is 0.85.topLabelAlign
. No default.topLabelAlign
. No default.leftTopLabel
.
0
(the default) means left justify, 1
means right
justify, 0.5
means to center the text. rightTopLabel
,
if given, is aligned cex
times this number gives the character expansion factor
for leftTopLabel
, rightTopLabel
, and xAxisLabel
.leftInsideLabel
is offset by this fraction
of the x range from the left edge of the plot, as is the right edge
of rightInsideLabel
from the ricex
times this number gives the character expansion factor
for leftInsideLabel
and rightInsideLabel
.footAlign
. Use a vector of character strings to
get several footnotes. No default.foot
.
0
(the default) means left justify, 1
means right
justify, 0.5
means to center the text. Other numbers are a
corresponding distance between thcex
times this number gives the character expansion factor
for foot
. Default is 0.8.foot
, specifying the
color for each footnote. Default is 1, the device default foreground
color. The elements of this argument are cyclically repeated, if
necessary, to make footColor
thxSpace
to hold footnotes. The space created is
footSpace
times footCex
. Default is
length(foot
); using a higher value will result ixTick
, xUnlabeledTick
and side tick
marks as a fraction of the smaller of the width or height of the
plotting region. Minor ticks (xMinorTicks
) are 2/3 as long.
If tck >= 0.5
it is inteti()
.ti()
."o"
,
"l"
(ell), "7"
, "c"
will produce boxes which
resemble the corresponding upper-case letters. The value "n"
will suppress boxes. The TRUE
, call the nberShade
function to shade
recession periods on the plot. The default is FALSE
.nberShade
is
TRUE
. Passed along to the nberShade
function.TRUE
and nberShade
is also TRUE
, draws
borders on the NBER shaded areas. Default is FALSE
.nberShade
function
if nberShade
is TRUE
.tisPlot
invisibly returns a list of class "tisPlot" and
elements named series
, dateFormat
, plotType
,
lineType
, dataCex
, color
, plotChar
,
lineWidth
, yLegendOffset
, cex
, xRange
,
leftRange
, rightRange
, midPoints
and par
.
This list is useful mostly as an argument to tisLegend
.leftAxis
, plotType
, lineType
, lineWidth
,
plotChar
, dataCex
, color
and midPoints
are
all cyclically repeated to make them length nSeries
, the number
of series plotted. Each of the text items head
, sub
, leftTopLabel
,
rightTopLabel
, leftInsideLabel
, rightInsideLabel
,
foot
, and xAxisLabel
can be given as a string, a
collections of strings, or as a string that gets evaluated to one of
the first two. (But xAxisLabel
takes only a single string.)
See the help details for evalOrEcho
to see how this works.
evalOrEcho
, scatterPlot
,
tisLegend
, nberShade
firstTis <- tis(cumsum(rnorm(120)), start = c(1996,1), freq = 12)
secondTis <- tis(cumsum(rnorm(120)), start = c(1996,1), freq = 12)
tisPlot(firstTis, secondTis, color = c("red", "green"),
lineType = "solid", head = "Two Random Walks")
tisLegend(legend = c("Random Walk 1", "Random Walk 2"))
series <- tis(cumsum(rnorm(200)), start = c(1960,1), tif = "quarterly")
tisPlot(series, xMinorTickFreq = "annual", nberShade = TRUE,
head = "A Random Walk", sub = "Looks like an econ series",
rightTopLabel = "$Billions")
romerLines()
Run the code above in your browser using DataLab