This function takes a data table, a quantitative variable (ycol
) and a grouping variable (group
), if available, and plots a histogram graph using geom_histogram
). Alternatives are plot_density
, or plot_qqline
.
plot_histogram(
data,
ycol,
group,
facet,
PlotType = c("Counts", "Normalised counts"),
BinSize = 30,
c_alpha = 0.8,
TextXAngle = 0,
facet_scales = "fixed",
fontsize = 20,
linethick,
alpha,
LogYTrans,
LogYBreaks = waiver(),
LogYLabels = waiver(),
LogYLimits = NULL,
ColPal = c("okabe_ito", "all_grafify", "bright", "contrast", "dark", "fishy", "kelly",
"light", "muted", "pale", "r4", "safe", "vibrant"),
ColSeq = TRUE,
ColRev = FALSE,
SingleColour = NULL,
...
)
a data table e.g. data.frame or tibble.
name of the column (without quotes) with the quantitative variable whose histogram distribution is to be plotted.
name of the column containing a categorical grouping variable.
add another variable (without quotes) from the data table to create faceted graphs using facet_wrap
.
the default (Counts
) plot will plot counts in the bins, which can be changed to Normalised counts
.
number of distinct bins to use on X-axis, default set to 30.
fractional opacity of colour filled within histograms, default set 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.
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).
parameter of base_size
of fonts in theme_classic
, default set to size 20.
thickness of symbol border, default set to fontsize
/22.
deprecated old argument for c_alpha
; retained for backward compatibility.
transform Y axis into "log10" or "log2" (in quotes).
argument for scale_y_continuous
for Y axis breaks on log scales, default is waiver()
, or provide a vector of desired breaks.
argument for scale_y_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.
grafify colour palette to apply (in quotes), 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).
a colour hexcode (starting with #, e.g., "#E69F00"), a number between 1-154, or names of colours from grafify
palettes or base R 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 geom_histogram
.
This function returns a ggplot2
object of class "gg" and "ggplot".
Note that the function requires the quantitative Y variable first, and groups them based on a categorical variable passed on via the group
argument. The grouping variable is mapped to the fill
aesthetics in geom_histogram
.
ColPal & ColRev options are applied to both fill
and colour
scales. Colours available can be seen quickly with plot_grafify_palette
.
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
.
#Basic usage
plot_histogram(data = data_t_pratio,
ycol = Cytokine, group = Genotype,
BinSize = 10)
#with log transformation
plot_histogram(data = data_t_pratio,
ycol = log(Cytokine), group = Genotype,
BinSize = 10)
#Normalised counts
plot_histogram(data = data_t_pratio,
ycol = log(Cytokine), group = Genotype,
PlotType = "Normalised counts",
BinSize = 10)