This function takes a data table, quantitative X and Y variables along with a categorical grouping variable, and a and plots a graph with using geom_point. The categorical CatGroup variable is mapped to the fill aesthetic of symbols.
plot_xy_CatGroup(
data,
xcol,
ycol,
CatGroup,
facet,
Boxplot = FALSE,
symsize = 3,
s_alpha = 0.8,
TextXAngle = 0,
LogYTrans,
LogXTrans,
LogYBreaks = waiver(),
LogXBreaks = waiver(),
LogYLabels = waiver(),
LogXLabels = waiver(),
LogYLimits = NULL,
LogXLimits = NULL,
facet_scales = "fixed",
fontsize = 20,
bwid = 0.3,
b_alpha = 0.3,
l_alpha = 0.8,
symthick,
bthick,
ColPal = c("okabe_ito", "all_grafify", "bright", "contrast", "dark", "fishy", "kelly",
"light", "muted", "pale", "r4", "safe", "vibrant"),
ColSeq = TRUE,
ColRev = FALSE,
...
)This function returns a ggplot2 object of class "gg" and "ggplot".
a data table object, e.g. data.frame or tibble.
name of the column with quantitative X variable.
name of the column with quantitative Y variable.
a categorical variable as grouping factor for colour of data points, should be a categorical variable for default colours to work. Will be converted to factor if your column is numeric
add another variable from the data table to create faceted graphs using ggplot2facet_wrap.
logical TRUE/FALSE to plot box and whiskers plot (default = FALSE).
size of symbols used by geom_point. Default set to 3.
fractional opacity of symbols, default set to to 0.8 (i.e, 80% opacity).
orientation of text on X-axis; default 0 degrees. Change to 45 or 90 to remove overlapping text.
transform Y axis into "log10" or "log2"
transform X axis into "log10" or "log2"
argument for ggplot2[scale_y_continuous] for Y axis breaks on log scales, default is waiver(), or provide a vector of desired breaks.
argument for ggplot2[scale_x_continuous] for Y axis breaks on log scales, default is waiver(), or provide a vector of desired breaks.
argument for ggplot2[scale_y_continuous] for Y axis labels on log scales, default is waiver(), or provide a vector of desired labels.
argument for ggplot2[scale_x_continuous] for Y axis labels on log scales, default is waiver(), or provide a vector of desired labels.
a vector of length two specifying the range (minimum and maximum) of the Y axis.
a vector of length two specifying the range (minimum and maximum) of the X axis.
whether or not to fix scales on X & Y axes for all graphs. Can be fixed (default), free, free_y or free_x (for Y and X axis one at a time, respectively).
parameter of base_size of fonts in theme_classic, default set to size 20.
width of boxplot (default = 0.3).
fractional opacity of boxes, (default = 0.3).
fractional opacity of lines joining boxes, (default = 0.8).
size (in 'pt' units) of outline of symbol lines (stroke), default = fontsize/22.
size (in 'pt' units) of outline of boxes, whisker and joining lines (stroke), default = fontsize/22.
grafify colour palette to apply, default "okabe_ito"; see graf_palettes for available palettes.
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.
whether to reverse order of colour within the selected palette, default F (FALSE); can be set to T (TRUE).
any additional arguments to pass on.
A box and whisker plot with lines joining the medians can be plotted with Boxplot = TRUE. If only box plot is needed without the line, set the opacity of the line to 0 (i.e., l_alpha = 0).
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 (logical TRUE/FALSE) decides whether colours are picked by respecting the order in the palette or the most distant ones using colorRampPalette.
This plot is related to plot_xy_NumGroup which requires a numeric grouping factor.
When summary statistics (mean/median) are required, use plot_3d_scatterbar, plot_3d_scatterbox or plot_4d_scatterbox.
#The grouping factor cyl is automatically converted to categorical variable
plot_xy_CatGroup(data = mtcars,
xcol = mpg, ycol = disp, CatGroup = cyl,
ColPal = "vibrant", ColSeq = FALSE)
#with boxplot
plot_xy_CatGroup(data = mpg,
xcol = cyl, ycol = cty,
CatGroup = fl, Boxplot = TRUE)
#add another variable
#with boxplot
plot_xy_CatGroup(data = mpg,
xcol = cyl, ycol = cty,
CatGroup = fl, facet = drv,
Boxplot = TRUE)
Run the code above in your browser using DataLab