Enhanced parallel coordinate plots.
pcp.Rd
pcp draws a parallel coordinate plot.It is a modified
version of parcoord {MASS}
.
Variables
may be reordered and panels colored in the display.
catpcp draws a parallel coordinate plot variant for categorical data.
Usage
pcp(data, order = NULL, panel.colors = NULL, col = 1, lty = 1,
horizontal = TRUE, mar = NULL, scale = TRUE, axis.width = 0,
axis.grid.col="grey70",connect=TRUE, ...)
catpcp(data, order = NULL, pcpbars, barvars = 1:ncol(data),
pcpbars.border = "black", pcpbars.col = NULL, pcpbars.labels = FALSE,
pcpbars.axis.at = NULL, pcpbars.axis.labels = NULL,
axis.width = 0.2,connect=TRUE, ...)
Arguments
- data
A data frame or matrix.
- order
an index vector specifying variable order. If NULL, all variables are used.
- panel.colors
either a vector or a matrix of panel colors. If a vector is supplied, the ith color is used for the ith panel. If a matrix, dimensions should match those of the variables. Diagonal entries are ignored.
- col
a vector of colours, recycled as necessary for each observation.
- lty
a vector of line types, recycled as necessary for each observation.
- horizontal
If TRUE, orientation is horizontal.
- mar
margin parameters, passed to
par
.- scale
If TRUE, the variables are scaled to the unit interval.
- axis.width
Width of each of the parallel axes.
- axis.grid.col
Color of variable axes. Use NULL for no axes.
- connect
If FALSE, line segments are not connected. Points are drawn if axis.width=0.
- pcpbars
A list, with one component per barvar. Component i is a matrix with the bottom and top of the bars for that variable.
- barvars
Categorical variables where overlayed bars show the level frequency.
- pcpbars.border
Border colour of the bars.
- pcpbars.col
Colour of the bars.
- pcpbars.labels
Labels for the bars.
- pcpbars.axis.at
Axis label positions for the bars.
- pcpbars.axis.labels
Axis label text for the bars.
- ...
other parameters, passed to pcp by catpcp
Examples
require(PairViz)
y <- as.data.frame(as.table(HairEyeColor))
colvar <- 3 # any of 1:3 will do
y <- y[order(y[,colvar]),] # ensures that cases are ordered by colour within each factor level
ylong <- apply(y[,-4],2, function(x) rep(x,times=y[,4]))
cols <- desaturate_color(rainbow(4,alpha=0.3),.5)
cols <- cols[as.numeric(as.factor(ylong[,colvar]))]
ds <- factor_spreadout(ylong)
dev.new(width=5,height=2.5)
par(mar=c(2,1,2,1))
par( cex.axis=.8,cex=.8)
catpcp(ds$data,col=cols,lwd=2,pcpbars=ds$bars,pcpbars.labels=TRUE,main="Hair Eye data")