The plot_befafter_box, plot_befafter_colours, plot_befafter_colors and plot_befafter_shapes are for plotting matched data joined by lines. These functions take X and Y variables along with a data column with matching information (e.g. matched subjects or experiments etc.) and plot symbols matched by colour or shape.

plot_befafter_box(
data,
xcol,
ycol,
match,
facet,
PlotShapes = FALSE,
symsize = 3,
s_alpha = 0.8,
b_alpha = 1,
bwid = 0.4,
jitter = 0.1,
TextXAngle = 0,
LogYTrans,
LogYBreaks = waiver(),
LogYLabels = waiver(),
LogYLimits = NULL,
facet_scales = "fixed",
fontsize = 20,
symthick,
bthick,
ColPal = c("okabe_ito", "all_grafify", "bright", "contrast", "dark", "fishy", "kelly",
"light", "muted", "pale", "r4", "safe", "vibrant"),
ColSeq = TRUE,
ColRev = FALSE,
SingleColour = "NULL",
...
)

## Arguments

data

a data table object, e.g. data.frame or tibble.

xcol

name of the column containing the categorical variable to be plotted on the X axis.

ycol

name of the column containing the quantitative Y values.

match

name of the column with the grouping variable to pass on to geom_line.

facet

add another variable from the data table to create faceted graphs using ggplot2facet_wrap.

PlotShapes

logical TRUE or FALSE (default = FALSE) if the shape of the symbol is to be mapped to the match variable. Note that only 25 shapes allowed.

symsize

size of symbols, default set to 3.

s_alpha

fractional opacity of symbols, default set to 0.8 (i.e., 80% opacity).

b_alpha

fractional opacity of boxes, default set to 1.

bwid

width of boxplots; default 0.4.

jitter

extent of jitter (scatter) of symbols, default is 0.1. Increase to reduce symbol overlap, set to 0 for aligned symbols.

TextXAngle

orientation of text on X-axis; default 0 degrees. Change to 45 or 90 to remove overlapping text.

LogYTrans

transform Y axis into "log10" or "log2"

LogYBreaks

argument for ggplot2[scale_y_continuous] for Y axis breaks on log scales, default is waiver(), or provide a vector of desired breaks.

LogYLabels

argument for ggplot2[scale_y_continuous] for Y axis labels on log scales, default is waiver(), or provide a vector of desired labels.

LogYLimits

a vector of length two specifying the range (minimum and maximum) of the Y axis.

facet_scales

whether or not to fix scales on X & Y axes for all facet facet graphs. Can be fixed (default), free, free_y or free_x (for Y and X axis one at a time, respectively).

fontsize

parameter of base_size of fonts in theme_classic, default set to size 20.

symthick

size (in 'pt' units) of outline of symbol lines (stroke), default = fontsize/22.

bthick

thickness (in 'pt' units) of lines and boxes lines; default = fontsize/22.

ColPal

grafify colour palette to apply, default "okabe_ito"; see graf_palettes for available palettes.

ColSeq

logical TRUE or FALSE. Default TRUE for sequential colours from chosen palette. Set to FALSE for distant colours, which will be applied using scale_fill_grafify2.

ColRev

whether to reverse order of colour within the selected palette, default F (FALSE); can be set to T (TRUE).

SingleColour

a colour hexcode (starting with #), a number between 1-154, or names of colours from grafify or base R palettes to fill along X-axis aesthetic. Accepts any colour other than "black"; use grey_lin11, which is almost black.

...

any additional arguments to pass to ggplot2geom_line, ggplot2geom_point, or ggplot2facet_wrap.

## Value

This function returns a ggplot2 object of class "gg" and "ggplot".

## Details

Use plot_befafter_box to also get a boxplot with matched data. In this function, the categorical variable along X axis is mapped to the fill-colour aesthetic.

The default is a plot without matching shapes. Change the PlotShapes argument to TRUE for plot similar to plot_befafter_shapes. Note that with PlotShapes = TRUE the colour of symbols will always be black and the X-axis variable is mapped to the fill colour of boxplots.

Note that only 25 shapes are available, and there will be errors with plot_befafter_shapes when there are fewer than 25 matched observations; instead use default (PlotShapes = FALSE).

Add another variable to make faceted graphs with the facet argument.

Colours can be changed using ColPal, ColRev or ColSeq arguments. ColPal can be one of the following: "okabe_ito", "dark", "light", "bright", "pale", "vibrant, "muted" or "contrast". ColRev (logical TRUE/FALSE) decides whether colours are chosen from first-to-last or last-to-first from within the chosen palette. ColSeq decides whether colours are picked by respecting the order in the palette or the most distant ones using colorRampPalette.

To plot a graph with a single colour along the X axis variable, use the SingleColour argument.

## Examples

#plot without legends if necessary
plot_befafter_box(data = data_t_pdiff,
xcol = Condition, ycol = Mass,
match = Subject)

#with PlotShapes = TRUE
plot_befafter_box(data = data_t_pdiff,
xcol = Condition, ycol = Mass,
match = Subject, PlotShapes = TRUE)

#2way ANOVA design with randomised blocks
plot_befafter_box(data = data_2w_Tdeath,
xcol = Time2, ycol = PI,
match = Experiment, facet = Genotype)