rxLinePlot: Line Plot
Description
Line or scatter plot using data from an .xdf file or data frame - a wrapper function for xyplot.
Usage
rxLinePlot(formula, data, rowSelection = NULL,
transforms = NULL, transformObjects = NULL,
transformFunc = NULL, transformVars = NULL,
transformPackages = NULL, transformEnvir = NULL,
blocksPerRead = rxGetOption("blocksPerRead"), type = c("l"),
title = NULL, subtitle = NULL, xTitle = NULL, yTitle = NULL,
xNumTicks = 10, yNumTicks = 10, legend = TRUE, lineColor = NULL,
lineStyle = "solid", lineWidth = 2, symbolColor = NULL,
symbolStyle = "solid circle", symbolSize = NULL,
plotAreaColor = "gray90", gridColor = "white", gridLineWidth = 1,
gridLineStyle = "solid",
reportProgress = rxGetOption("reportProgress"), print = TRUE, ...)
Arguments
formula
formula for plot, taking the form of y~x|g1 + g2
where g1
and g2
are optional conditioning factor variables.
data
either an RxXdfData object, a character string specifying the .xdf file, or a data frame containing the data to plot.
rowSelection
name of a logical variable in the data set (in quotes) or a logical expression using variables in the data set to specify row selection. For example, rowSelection = "old"
will use only observations in which the value of the variable old
is TRUE
. rowSelection = (age > 20) & (age < 65) & (log(income) > 10)
will use only observations in which the value of the age
variable is between 20 and 65 and the value of the log
of the income
variable is greater than 10. The row selection is performed after processing any data transformations (see the arguments transforms
or transformFunc
). As with all expressions, rowSelection
can be defined outside of the function call using the expression function.
transforms
an expression of the form list(name = expression, ...)
representing variable transformations required for the formula or rowSelection. As with all expressions, transforms
(or rowSelection
) can be defined outside of the function call using the expression function.
transformObjects
a named list containing objects that can be referenced by transforms
, transformsFunc
, and rowSelection
.
transformFunc
variable transformation function. See rxTransform for details.
transformVars
character vector of input data set variables needed for the transformation function. See rxTransform for details.
transformPackages
character vector defining additional R packages (outside of those specified in rxGetOption("transformPackages")
) to be made available and preloaded for use in variable transformation functions, e.g., those explicitly defined in RevoScaleR functions via their transforms
and transformFunc
arguments or those defined implicitly via their formula
or rowSelection
arguments. The transformPackages
argument may also be NULL
, indicating that no packages outside rxGetOption("transformPackages")
will be preloaded.
transformEnvir
user-defined environment to serve as a parent to all environments developed internally and used for variable data transformation. If transformEnvir = NULL
, a new "hash" environment with parent baseenv()
is used instead.
blocksPerRead
number of blocks to read for each chunk of data read from the data source.
type
character vector specifying the type of plot. Use "l"
for line, "p"
for points, "b"
for both, "smooth"
for a loess fit, "s"
for stair steps, or "r"
for a regression line.
title
main title for the plot. Alternatively main
can be used.
subtitle
subtitle (at the bottom) for the plot. Alternatively sub
can be used.
xTitle
title for the X axis. Alternatively xlab
can be used.
yTitle
title for the Y axis. Alternatively ylab
can be used.
xNumTicks
number of tick marks for numeric X axis.
yNumTicks
number of tick marks for numeric Y axis.
legend
logical value. If TRUE
and more than one line or set of symbols is plotted, a legend is is created.
lineColor
character or integer vector specifying line colors for the plot. See colors for a list of available colors.
lineStyle
line style for line plot: "blank"
, "solid"
, "dashed"
, "dotted"
, "dotdash"
, "longdash"
, or "twodash"
. Specify "blank"
for no line, or set type
to "p"
.
lineWidth
a positive number specifiying the line width for line plot. The interpretation is device-specific.
symbolColor
character or integer vector denoting the symbol colors. See colors for a list of available colors.
symbolStyle
character or integer vector denoting the symbol style(s): "circle"
, "solid circle"
, "square"
, "solid square"
, "triangle"
, "solid triangle"
, "diamond"
, "solid diamond"
, "plus"
(3), "cross"
(4), "down triangle"
(6), "square x"
(7), "star"
(8), "diamond +"
(9), "circle +"
(10), "up down triangle"
(11), "square +"
(12), "circle x"
(13), or any single character.
symbolSize
numerical value giving the amount by which symbols should be magnified.
plotAreaColor
background color for the plot area and legend.
gridColor
color for grid lines. See colors for a list of available colors.
gridLineWidth
line width for grid lines.
gridLineStyle
line style for grid lines: "blank"
, "solid"
, "dashed"
, "dotted"
, "dotdash"
, "longdash"
, or "twodash"
.
reportProgress
integer value with options:
0
: no progress is reported.1
: the number of processed rows is printed and updated.2
: rows processed and timings are reported.3
: rows processed and all timings are reported.
print
logical. If TRUE
, the plot is printed. If FALSE
, and the lattice package is loaded, an xyplot object is returned invisibly and can be printed later. Note that the printing of the legend or key will depend on the trellis.par.getsettings at the time of printing.
...
additional arguments to be passed directly to the underlying xyplot function if loaded.
Details
rxLinePlot
is enhanced by the recommended lattice package.
Value
an xyplot object if the lattice is loaded.
Otherwise NULL
.
Author(s)
Microsoft Corporation Microsoft Technical Support
See Also
xyplot, rxHistogram.
Examples
# Create a simple scatter plot using a data frame
rxLinePlot(Ozone ~ Temp, data=airquality, type="p")
# Create the file + path name for the sample data set
censusWorkers <- file.path(rxGetOption("sampleDataDir"), "CensusWorkers")
# Compute the weighted counts for age and sex by state
ageSex <- rxCube(~ F(age) : sex : state, data = censusWorkers, pweights = "perwt")
# Convert the results to a data frame ready for plotting
ageSex <- rxResultsDF(ageSex)
# Draw a line plot of the results in 3 panels (with lattice package loaded)
rxLinePlot(Counts ~ age | state, groups = sex, data = ageSex,
title = "2000 U.S. Workers by Age and Sex for 3 States")
# Use transformation expressions to scale the
# Counts and age variables
rxLinePlot(Counts ~ age | state, groups = sex, data = ageSex,
transforms=list(Counts = log(Counts), age = age/10),
xlab="age / 10", ylab="log(Counts)",
title = "2000 U.S. Workers by Age and Sex for 3 States")
# Use both a line and symbols in the plot
rxLinePlot(Counts ~ age | state, groups = sex, data = ageSex, type = "b",
title = "2000 U.S. Workers by Age and Sex for 3 States")
# Create a plot using a subselection of data from an .xdf file
# Look at Arrival Delay be Departure Time for flights more
# than an hour late and less than 3 hours late on Tuesday
airlineData <- file.path(rxGetOption("sampleDataDir"), "AirlineDemoSmall")
rxLinePlot(ArrDelay~CRSDepTime, data=airlineData,
rowSelection= ArrDelay > 60.0 & ArrDelay <= 180.00 & DayOfWeek == "Tuesday",
type=c( "p", "smooth"), lineColor="red")
# Customize a plot with a panel function (using the lattice package)
if ("lattice" %in% .packages())
{
rxLinePlot(Ozone ~ Temp, data = airquality, type = "p",
panel = function(x, y, ...)
{
panel.spline(x,y, lwd = 3, col = 3)
})
}