Single ggplot2 plot matrix with facet_grid
Single ggplot2 plot matrix with facet_grid
ggfacet( data, mapping = NULL, columnsX = 1:ncol(data), columnsY = 1:ncol(data), fn = ggally_points, ..., columnLabelsX = names(data[columnsX]), columnLabelsY = names(data[columnsY]), xlab = NULL, ylab = NULL, title = NULL, scales = "free" )
data |
data.frame that contains all columns to be displayed. This data will be melted before being passed into the function |
mapping |
aesthetic mapping (besides |
columnsX |
columns to be displayed in the plot matrix |
columnsY |
rows to be displayed in the plot matrix |
fn |
function to be executed. Similar to |
... |
extra arguments passed directly to |
columnLabelsX, columnLabelsY |
column and row labels to display in the plot matrix |
xlab, ylab, title |
plot matrix labels |
scales |
parameter supplied to |
# Small function to display plots only if it's interactive p_ <- GGally::print_if_interactive if (requireNamespace("chemometrics", quietly = TRUE)) { data(NIR, package = "chemometrics") NIR_sub <- data.frame(NIR$yGlcEtOH, NIR$xNIR[,1:3]) str(NIR_sub) x_cols <- c("X1115.0", "X1120.0", "X1125.0") y_cols <- c("Glucose", "Ethanol") # using ggduo directly p <- ggduo(NIR_sub, x_cols, y_cols, types = list(continuous = "points")) p_(p) # using ggfacet p <- ggfacet(NIR_sub, x_cols, y_cols) p_(p) # add a smoother p <- ggfacet(NIR_sub, x_cols, y_cols, fn = 'smooth_loess') p_(p) # same output p <- ggfacet(NIR_sub, x_cols, y_cols, fn = ggally_smooth_loess) p_(p) # Change scales to be the same in for every row and for every column p <- ggfacet(NIR_sub, x_cols, y_cols, scales = "fixed") p_(p) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.