Title: | A 'ggplot2' Extension to Make Normal Violin Plots |
Version: | 0.2.1 |
Description: | Uses 'ggplot2' to create normally distributed violin plots with specified means and standard deviations. This function can be useful in showing hypothetically normal distributions and confidence intervals. |
License: | CC0 |
URL: | https://github.com/wjschne/ggnormalviolin, https://wjschne.github.io/ggnormalviolin/ |
BugReports: | https://github.com/wjschne/ggnormalviolin/issues |
Imports: | dplyr, ggplot2, grid, magrittr, scales |
Suggests: | knitr, quarto, ragg, rmarkdown, spelling, testthat |
VignetteBuilder: | quarto |
Encoding: | UTF-8 |
Language: | en-US |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-03-29 15:31:00 UTC; renee |
Author: | W. Joel Schneider |
Maintainer: | W. Joel Schneider <w.joel.schneider@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-03-29 15:50:02 UTC |
Pipe operator
Description
See magrittr::%>%
for details.
Usage
lhs %>% rhs
Arguments
lhs |
A value or the magrittr placeholder. |
rhs |
A function call using the magrittr semantics. |
Value
The result of calling 'rhs(lhs)'.
GeomNormalViolin
Description
GeomNormalViolin
Format
An object of class GeomNormalViolin
(inherits from Geom
, ggproto
, gg
) of length 5.
StatNormViolin
Description
StatNormViolin
Format
An object of class StatNormalViolin
(inherits from Stat
, ggproto
, gg
) of length 5.
Creates normal violins with specified means and standard deviations
Description
Creates normal violins with specified means and standard deviations
Usage
geom_normalviolin(
mapping = NULL,
data = NULL,
mu = NULL,
sigma = NULL,
nsigma = 4,
p_tail = 0,
p_lower_tail = p_tail/2,
p_upper_tail = p_tail/2,
tail_fill = "black",
tail_alpha = 0.4,
width = 0.6,
upper_limit = NA,
lower_limit = NA,
face_left = TRUE,
face_right = TRUE,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by ggplot2::aes(). |
data |
The data to be displayed in this layer |
mu |
A vector of means |
sigma |
A vector of standard deviations |
nsigma |
The number of standard deviations each violin should extend |
p_tail |
The 2-tailed proportion that should be highlighted. Can be overridden with p_lower_tail and/or p_upper_tail |
p_lower_tail |
The proportion of the distribution that should be highlighted in the lower tail. Defaults to half of 'p_tail'. |
p_upper_tail |
The proportion of the distribution that should be highlighted in the upper tail. Defaults to half of 'p_tail'. |
tail_fill |
fill color for tails |
tail_alpha |
alpha value for tails |
width |
Width of normal violin |
upper_limit |
upper limit for polygons. Needed in case setting limits in scale_y_continuous or ylim distorts the polygons. |
lower_limit |
lower limit for polygons. Needed in case setting limits in scale_y_continuous or ylim distorts the polygons. |
face_left |
Display left half of violins. Defaults to 'TRUE' |
face_right |
Display right half of violins. Defaults to 'TRUE' |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If 'FALSE', overrides the default aesthetics, rather than combining with them. |
... |
Other arguments passed to 'ggplot2::layer' |
Value
A ggplot2 layer that can be added to a plot created with [ggplot()][ggplot2::ggplot()].
Aesthetics
geom_normviolin
understands the following aesthetics
(required aesthetics are in bold):
-
x
-
mu (mean of the normal distribution)
-
sigma (standard deviation of the normal distribution)
width (width of violin)
nsigma (number of standard deviations to which the violins extend)
p_tail (2-tailed proportion of tails highlighted)
p_upper_tail (proportion of upper tails highlighted)
p_lower_tail (proportion of lower tails highlighted)
face_left (display left half of violin?)
face_right (display right half of violin?)
color (of lines)
fill
alpha (of fills)
group
linetype
linewidth
Examples
library(ggplot2)
d <- data.frame(
dist = c("A", "B"),
dist_mean = c(80, 90),
dist_sd = c(15, 10))
ggplot(data = d, aes(
x = dist,
mu = dist_mean,
sigma = dist_sd,
fill = dist)) +
geom_normalviolin() +
theme(legend.position = "none")