diff --git a/DESCRIPTION b/DESCRIPTION index 2465f6381..1d631bc38 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -53,7 +53,8 @@ Suggests: packagedocs (>= 0.4.0), rmarkdown, roxygen2, - testthat + testthat, + ggridges Roxygen: list(wrap = FALSE) RoxygenNote: 6.0.1 VignetteBuilder: packagedocs diff --git a/NAMESPACE b/NAMESPACE index 7419d9050..0fa52b484 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -23,6 +23,7 @@ export(ggally_box_no_facet) export(ggally_cor) export(ggally_density) export(ggally_densityDiag) +export(ggally_density_ridges) export(ggally_denstrip) export(ggally_diagAxis) export(ggally_dot) diff --git a/R/gg-plots.R b/R/gg-plots.R index a6f060c32..a7fcd128b 100644 --- a/R/gg-plots.R +++ b/R/gg-plots.R @@ -1329,3 +1329,33 @@ ggally_na <- function(data = NULL, mapping = NULL, size = 10, color = "grey20", ggally_naDiag <- function(...) { ggally_na(...) } + +#' Create a ridgeline plot. +#' +#' `ggally_density_ridges` arranges multiple density plots in a staggered fashion, as in the cover of the famous Joy Division album Unknown Pleasures. +#' +#' @param data The data set used. +#' @param mapping The aesthetics used. +#' @param ... Other parameters passed on to \code{\link[ggridges]{geom_density_ridges}}. +#' +#' @examples +#' data(iris) +#' ggpairs(iris, lower = list("combo" = ggally_density_ridges)) +#' ggpairs(iris, lower = list("combo" = ggally_density_ridges, mapping = ggplot2::aes(color = Species))) +#' ggpairs(iris, lower = list("combo" = wrap(ggally_density_ridges, rel_min_height = 0.01), mapping = ggplot2::aes(color = Species))) +#' +#' @author Jens Preussner \email{jens.preussner@@mpi-bn.mpg.de} +#' @export +ggally_density_ridges <- function(data, mapping, ...) { + require_pkgs("ggridges") + horizontal <- is_horizontal(data, mapping) + + if (!horizontal) { + mapping <- mapping_swap_x_y(mapping) + } + + mapping <- mapping_color_to_fill(mapping) + + ggplot2::ggplot(data) + + ggridges::geom_density_ridges2(mapping, ...) +} diff --git a/man/ggally_density_ridges.Rd b/man/ggally_density_ridges.Rd new file mode 100644 index 000000000..43148eed4 --- /dev/null +++ b/man/ggally_density_ridges.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/gg-plots.R +\name{ggally_density_ridges} +\alias{ggally_density_ridges} +\title{Create a ridgeline plot.} +\usage{ +ggally_density_ridges(data, mapping, ...) +} +\arguments{ +\item{data}{The data set used.} + +\item{mapping}{The aesthetics used.} + +\item{...}{Other parameters passed on to \code{\link[ggridges]{geom_density_ridges}}.} +} +\description{ +`ggally_density_ridges` arranges multiple density plots in a staggered fashion, as in the cover of the famous Joy Division album Unknown Pleasures. +} +\examples{ + data(iris) + ggpairs(iris, lower = list("combo" = ggally_density_ridges)) + ggpairs(iris, lower = list("combo" = ggally_density_ridges, mapping = ggplot2::aes(color = Species))) + ggpairs(iris, lower = list("combo" = wrap(ggally_density_ridges, rel_min_height = 0.01), mapping = ggplot2::aes(color = Species))) + +} +\author{ +Jens Preussner \email{jens.preussner@mpi-bn.mpg.de} +}