plot_scatterviolin {grafify} | R Documentation |
Plot a scatter plot on a violin plot with two variables.
Description
There are 4 related functions that use geom_point
to plot a categorical variable along the X axis.
-
plot_point_sd (mean & SD, SEM or CI95 error bars)
-
plot_scatterbar_sd (bar & SD, SEM or CI95 error bars)
-
plot_scatterbox (box & whiskers)
-
plot_scatterviolin (box & whiskers, violin)
Usage
plot_scatterviolin(
data,
xcol,
ycol,
facet,
symsize = 3,
s_alpha = 0.8,
b_alpha = 0,
v_alpha = 1,
bwid = 0.3,
vadjust = 1,
jitter = 0.1,
trim = TRUE,
scale = "width",
TextXAngle = 0,
LogYTrans,
LogYBreaks = waiver(),
Ylabels = waiver(),
LogYLimits = NULL,
facet_scales = "fixed",
fontsize = 20,
symthick,
bthick,
vthick,
bvthick,
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 to plot on X axis. This should be a categorical variable. |
ycol |
name of the column to plot on quantitative Y axis. This should be a quantitative variable. |
facet |
add another variable from the data table to create faceted graphs using |
symsize |
size of dots relative to |
s_alpha |
fractional opacity of symbols, default set to to 0.8 (i.e, 80% opacity). Set |
b_alpha |
fractional opacity of boxplots. Default is set to 0, which results in white boxes inside violins. Change to any value >0 up to 1 for different levels of transparency. |
v_alpha |
fractional opacity of violins, default set to 1. |
bwid |
width of boxplots; default 0.3. |
vadjust |
number to adjust the smooth/wigglyness of violin plot (default set to 1). |
jitter |
extent of jitter (scatter) of symbols, default is 0 (i.e. aligned symbols). To reduce symbol overlap, try 0.1-0.3 or higher. |
trim |
set whether tips of violin plot should be trimmed at high/low data. Default |
scale |
set to "area" by default, can be changed to "count" or "width". |
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 |
Ylabels |
argument for |
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 graphs. Can be |
fontsize |
parameter of |
symthick |
size (in 'pt' units) of outline of symbol lines ( |
bthick |
thickness (in 'pt' units) of boxplots; default = |
vthick |
thickness (in 'pt' units) of violins; default = |
bvthick |
thickness (in 'pt' units) of both violins and boxplots; default = |
ColPal |
grafify colour palette to apply, default "okabe_ito"; see |
ColSeq |
logical TRUE or FALSE. Default TRUE for sequential colours from chosen palette. Set to FALSE for distant colours, which will be applied using |
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 |
... |
any additional arguments to pass to |
Details
These functions take a data table, categorical X and numeric Y variables, and plot various geometries. The X variable is mapped to the fill
aesthetic of symbols.
In plot_point_sd and plot_scatterbar_sd, default error bars are SD, which can be changed to SEM or CI95.
Colours can be changed using ColPal
, ColRev
or ColSeq
arguments. Colours available can be seen quickly with plot_grafify_palette
.
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
.
If you prefer a single colour for the graph, use the SingleColour
argument.
Value
This function returns a ggplot2
object of class "gg" and "ggplot".
Examples
#plot without jitter
plot_scatterviolin(data = data_t_pdiff,
xcol = Condition, ycol = Mass,
symsize = 2, trim = FALSE)
#no symbols
plot_scatterviolin(data = data_t_pdiff,
xcol = Condition, ycol = Mass,
s_alpha = 0,
symsize = 2, trim = FALSE)