From ce601ddefebaf0aab323cb5deed5fc5813e76475 Mon Sep 17 00:00:00 2001 From: boB Rudis Date: Tue, 28 Nov 2017 10:33:24 -0500 Subject: [PATCH] cleanup --- DESCRIPTION | 3 +- NAMESPACE | 4 ++ R/geom_ubar.r | 10 ++--- man/stat_fill_labels.Rd | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ man/stat_stack_labels.Rd | 86 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 193 insertions(+), 6 deletions(-) create mode 100644 man/stat_fill_labels.Rd create mode 100644 man/stat_stack_labels.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 9c893c2..4b58c51 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -4,7 +4,8 @@ Title: Extra Coordinate Systems, 'Geoms', Statistical Transformations, Scales Version: 0.6.0 Maintainer: Bob Rudis Authors@R: c( - person("Bob", "Rudis", email = "bob@rud.is", role = c("aut", "cre")), + person("Bob", "Rudis", email = "bob@rud.is", role = c("aut", "cre"), + comment = c(ORCID = "0000-0001-5670-2640")), person("Ben", "Bolker", comment="Encircling & additional splines", role = c("aut", "ctb")), person("Ben", "Marwick", comment="General codebase cleanup", role = c("ctb")), person("Jan", "Schulz", comment="Annotations", role = c("aut", "ctb")), diff --git a/NAMESPACE b/NAMESPACE index 4e7d079..ee8c37e 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -25,7 +25,9 @@ export(Mb) export(StatAsh) export(StatBkde) export(StatBkde2d) +export(StatFillLabels) export(StatHorizon) +export(StatStackLabels) export(StatStepribbon) export(StatXspline) export(annotate_textp) @@ -48,7 +50,9 @@ export(show_stateface) export(stat_ash) export(stat_bkde) export(stat_bkde2d) +export(stat_fill_labels) export(stat_horizon) +export(stat_stack_labels) export(stat_stepribbon) export(stat_xspline) export(to_basic.GeomBkde2d) diff --git a/R/geom_ubar.r b/R/geom_ubar.r index cbdf958..9d4dc1a 100644 --- a/R/geom_ubar.r +++ b/R/geom_ubar.r @@ -27,11 +27,11 @@ #' @inheritParams ggplot2::layer #' @export #' @examples -# library(ggplot2) -# -# data(economics) -# ggplot(economics, aes(date, uempmed)) + -# geom_ubar() +#' library(ggplot2) +#' +#' data(economics) +#' ggplot(economics, aes(date, uempmed)) + +#' geom_ubar() geom_ubar <- function(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) { diff --git a/man/stat_fill_labels.Rd b/man/stat_fill_labels.Rd new file mode 100644 index 0000000..6b7a8a7 --- /dev/null +++ b/man/stat_fill_labels.Rd @@ -0,0 +1,96 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/stat_fill_labels.R +\name{stat_fill_labels} +\alias{stat_fill_labels} +\title{Labels position for fill position.} +\usage{ +stat_fill_labels(mapping = NULL, data = NULL, geom = "text", + position = "identity", width = NULL, na.rm = FALSE, show.legend = NA, + inherit.aes = TRUE, ...) +} +\arguments{ +\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or +\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +default), it is combined with the default mapping at the top level of the +plot. You must supply \code{mapping} if there is no plot mapping.} + +\item{data}{The data to be displayed in this layer. There are three +options: + +If \code{NULL}, the default, the data is inherited from the plot +data as specified in the call to \code{\link[=ggplot]{ggplot()}}. + +A \code{data.frame}, or other object, will override the plot +data. All objects will be fortified to produce a data frame. See +\code{\link[=fortify]{fortify()}} for which variables will be created. + +A \code{function} will be called with a single argument, +the plot data. The return value must be a \code{data.frame.}, and +will be used as the layer data.} + +\item{geom}{Use to override the default connection between +\code{geom_text} and \code{stat_stack_labels}.} + +\item{position}{Position adjustment, either as a string, or the result of +a call to a position adjustment function.} + +\item{width}{Bar width. By default, set to 90\% of the resolution of the data.} + +\item{na.rm}{If \code{FALSE}, the default, missing values are removed with +a warning. If \code{TRUE}, missing values are silently removed.} + +\item{show.legend}{logical. Should this layer be included in the legends? +\code{NA}, the default, includes if any aesthetics are mapped. +\code{FALSE} never includes, and \code{TRUE} always includes. +It can also be a named logical vector to finely select the aesthetics to +display.} + +\item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, +rather than combining with them. This is most useful for helper functions +that define both data and aesthetics and shouldn't inherit behaviour from +the default plot specification, e.g. \code{\link[=borders]{borders()}}.} + +\item{...}{other arguments passed on to \code{\link[=layer]{layer()}}. These are +often aesthetics, used to set an aesthetic to a fixed value, like +\code{color = "red"} or \code{size = 3}. They may also be parameters +to the paired geom/stat.} +} +\description{ +Computes position of labels when using \code{position = "fill"} +} +\section{Computed variables}{ + +\describe{ + \item{count}{the number of observations} + \item{prop}{proportion on \code{x}} + \item{cumprop}{the cumulative proportion on \code{x}} + \item{ylabel}{the y position of labels, i.e. \eqn{cumprop - prop / 2}} +} +} + +\examples{ +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar(position = "fill") + stat_fill_labels() +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar(position = "fill") + geom_label(stat = "fill_labels") +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar(position = "fill") + geom_text(stat = "fill_labels") + facet_grid(~Sex) +ggplot(as.data.frame(Titanic)) + + aes(x = as.integer(Class), fill = Survived, weight = Freq) + + geom_area(position = "fill", stat = "count") + geom_text(stat = "fill_labels") + +# Cumulative percentages with dodge position +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar(aes(y = ..prop..), stat="fill_labels", position="dodge", width = .8) + + geom_text( + aes(label = scales::percent(..prop..), y = ..prop../2), + stat = "fill_labels", position = position_dodge(width = .8) + ) +} +\seealso{ +\code{\link{stat_stack_labels}} for \code{position = "stack"}. +} diff --git a/man/stat_stack_labels.Rd b/man/stat_stack_labels.Rd new file mode 100644 index 0000000..e72a6d9 --- /dev/null +++ b/man/stat_stack_labels.Rd @@ -0,0 +1,86 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/stat_stack_labels.R +\name{stat_stack_labels} +\alias{stat_stack_labels} +\title{Labels position for stack position.} +\usage{ +stat_stack_labels(mapping = NULL, data = NULL, geom = "text", + position = "identity", width = NULL, na.rm = FALSE, show.legend = NA, + inherit.aes = TRUE, ...) +} +\arguments{ +\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or +\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +default), it is combined with the default mapping at the top level of the +plot. You must supply \code{mapping} if there is no plot mapping.} + +\item{data}{The data to be displayed in this layer. There are three +options: + +If \code{NULL}, the default, the data is inherited from the plot +data as specified in the call to \code{\link[=ggplot]{ggplot()}}. + +A \code{data.frame}, or other object, will override the plot +data. All objects will be fortified to produce a data frame. See +\code{\link[=fortify]{fortify()}} for which variables will be created. + +A \code{function} will be called with a single argument, +the plot data. The return value must be a \code{data.frame.}, and +will be used as the layer data.} + +\item{geom}{Use to override the default connection between +\code{geom_text} and \code{stat_stack_labels}.} + +\item{position}{Position adjustment, either as a string, or the result of +a call to a position adjustment function.} + +\item{width}{Bar width. By default, set to 90\% of the resolution of the data.} + +\item{na.rm}{If \code{FALSE}, the default, missing values are removed with +a warning. If \code{TRUE}, missing values are silently removed.} + +\item{show.legend}{logical. Should this layer be included in the legends? +\code{NA}, the default, includes if any aesthetics are mapped. +\code{FALSE} never includes, and \code{TRUE} always includes. +It can also be a named logical vector to finely select the aesthetics to +display.} + +\item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, +rather than combining with them. This is most useful for helper functions +that define both data and aesthetics and shouldn't inherit behaviour from +the default plot specification, e.g. \code{\link[=borders]{borders()}}.} + +\item{...}{other arguments passed on to \code{\link[=layer]{layer()}}. These are +often aesthetics, used to set an aesthetic to a fixed value, like +\code{color = "red"} or \code{size = 3}. They may also be parameters +to the paired geom/stat.} +} +\description{ +Computes position of labels when using \code{position = "stack"} +} +\section{Computed variables}{ + +\describe{ + \item{count}{the number of observations} + \item{cumcount}{the cumulative number of observations} + \item{ylabel}{the y position of labels, i.e. \eqn{cumcount - count / 2}} +} +} + +\examples{ +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar() + stat_stack_labels() +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar() + geom_label(stat = "stack_labels") +ggplot(as.data.frame(Titanic)) + + aes(x = Class, fill = Survived, weight = Freq) + + geom_bar() + stat_stack_labels() + facet_grid(~Sex) +ggplot(as.data.frame(Titanic)) + + aes(x = as.integer(Class), fill = Survived, weight = Freq) + + geom_area(stat = "count") + stat_stack_labels() +} +\seealso{ +\code{\link{stat_fill_labels}} for \code{position = "fill"}. +}