library(parallelPlot)factor type)parallelPlot(iris)‘species’ column is of factor type and has box representation for its categories.
refColumnDim argument (referenced column is
categorical)parallelPlot(iris, refColumnDim = "Species")Each trace has a color depending of its ‘species’ value.
categoricalCS argumentparallelPlot(iris, refColumnDim = "Species", categoricalCS = "Set1")Colors used for categories are not the same as previously (supported values: Category10, Accent, Dark2, Paired, Set1).
refColumnDim argument (referenced column is
continuous)parallelPlot(iris, refColumnDim = "Sepal.Length")Each trace has a color depending of its ‘Sepal.Length’ value.
continuousCS argumentparallelPlot(iris, refColumnDim = "Sepal.Length", continuousCS = "YlOrRd")Colors used for lines are not the same as previously. Supported values: “Viridis”, “Inferno”, “Magma”, “Plasma”, “Warm”, “Cool”, “Rainbow”, “CubehelixDefault”, “Blues”,“Greens”, “Greys”, “Oranges”, “Purples”, “Reds”, “BuGn”, “BuPu”, “GnBu”, “OrRd”, “PuBuGn”,“PuBu”, “PuRd”, “RdBu”, “RdPu”, “YlGnBu”, “YlGn”, “YlOrBr”, “YlOrRd”)
factor type)parallelPlot(mtcars)Several columns are of numerical type but should be of factor type (for example ‘cyl’).
categorical argumentcategorical <- list(NULL, c(4, 6, 8), NULL, NULL, NULL, NULL, NULL, c(0, 1), c(0, 1), 3:5, 1:8)
parallelPlot(mtcars, categorical = categorical, refColumnDim = "cyl")‘cyl’ and four last columns have a box representation for its categories.
categoriesRep argumentcategorical <- list(NULL, c(4, 6, 8), NULL, NULL, NULL, NULL, NULL, c(0, 1), c(0, 1), 3:5, 1:8)
parallelPlot(mtcars, categorical = categorical, refColumnDim = "cyl", categoriesRep = "EquallySizedBoxes")Within a category column, the height assigned to each category can
either be equal for each category (EquallySizedBoxes) or
calculated to reflect the proportion of lines passing through each
category (EquallySpacedLines).
arrangeMethod argumentcategorical <- list(NULL, c(4, 6, 8), NULL, NULL, NULL, NULL, NULL, c(0, 1), c(0, 1), 3:5, 1:8)
parallelPlot(mtcars, categorical = categorical, refColumnDim = "cyl", arrangeMethod = "fromLeft")Within a category box, the position of lines is computed to minimize
crossings on the left of the box. arrangeMethod can also be
set to fromRight to minimize crossings on the left of the
box (default behavior). ‘fromBoth’ allows to merge the two behaviors
(see next example). To turn this ordering off (for example for
performance reasons), arrangeMethod can also be set to
fromNone.
arrangeMethod argument (using
fromBoth)categorical <- list(NULL, c(4, 6, 8), NULL, NULL, NULL, NULL, NULL, c(0, 1), c(0, 1), 3:5, 1:8)
parallelPlot(mtcars, categorical = categorical, refColumnDim = "cyl", arrangeMethod = "fromBoth")Within a category box, lines have an incoming point and an outgoing point; these points are ordered to minimize crossings on the left and on the right of the box.
inputColumns argumentcategorical <- list(NULL, c(4, 6, 8), NULL, NULL, NULL, NULL, NULL, c(0, 1), c(0, 1), 3:5, 1:8)
inputColumns <- c(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE)
parallelPlot(mtcars, categorical = categorical, inputColumns = inputColumns, refColumnDim = "cyl")The column name is blue for outputs and green for inputs (in shiny mode, inputs can be edited).
histoVisibility argumenthistoVisibility <- rep(TRUE, ncol(iris))
parallelPlot(iris, histoVisibility = histoVisibility)An histogram is displayed for each column.
invertedAxes argumentinvertedAxes <- rep(FALSE, ncol(iris))
invertedAxes[2] <- TRUE
parallelPlot(iris, invertedAxes = invertedAxes)Axis of second column is inverted.
cutoffs argumenthistoVisibility <- rep(TRUE, ncol(iris))
cutoffs <- list(list(c(6, 7)), NULL, NULL, NULL, c("virginica", "setosa"))
parallelPlot(iris, histoVisibility = histoVisibility, cutoffs = cutoffs)Lines which are not kept by cutoffs are shaded; an histogram is displayed considering only kept lines.
refRowIndex argumentparallelPlot(iris, refRowIndex = 1)Axes are shifted vertically in such a way that first trace of the dataset looks horizontal.
rotateTitle argumentparallelPlot(iris, refColumnDim = "Species", rotateTitle = TRUE)Column names are rotated (can be useful for long column names).
columnLabels argumentcolumnLabels <- gsub("\\.", "<br>", colnames(iris))
parallelPlot(iris, refColumnDim = "Species", columnLabels = columnLabels)Given names are displayed in place of column names found in dataset;
<br> is used to insert line breaks.
cssRules argumentparallelPlot(iris, cssRules = list(
"svg" = "background: white", # Set background of plot to white
".axisLabel" = c("fill: red", "font-size: 1.8em"), # Set title of axes red and greater
".tick text" = "font-size: 1.8em", # Set text of axes ticks greater
".plotGroup path" = "opacity: 0.25", # Make lines less opaque
".xValue" = "color: orange", # Set color for x values in tooltip
".xName" = "display: table" # Trick to have x values on a new line
))Apply CSS to the plot. CSS is a simple way to describe how elements on a web page should be displayed (position, color, size, etc.). You can learn the basics at W3Schools. You can learn how to examine and edit css at MDN Web Docs for Firefox or Chrome devtools for Chrome.
sliderPosition argumentparallelPlot(iris, sliderPosition = list(
dimCount = 3, # Number of columns to show
startingDimIndex = 2 # Index of first shown column
))Set initial position of slider, specifying which columns interval is visible.
controlWidgets argumentparallelPlot(iris, refColumnDim = "Species", controlWidgets = TRUE)Some widgets are available to control the plot.