From 7880d5bf9d83ce548c364c4c1b4b8374a76af9ba Mon Sep 17 00:00:00 2001 From: Bob Rudis Date: Tue, 22 Mar 2016 22:43:40 -0400 Subject: [PATCH] geom_col() moved over to ggplot2 --- DESCRIPTION | 1 - NAMESPACE | 2 -- R/geom_col.r | 71 ------------------------------------------------ man/geom_col.Rd | 76 ---------------------------------------------------- man/ggalt-ggproto.Rd | 3 +-- 5 files changed, 1 insertion(+), 152 deletions(-) delete mode 100644 R/geom_col.r delete mode 100644 man/geom_col.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 8295eb5..58f2f20 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -51,7 +51,6 @@ Collate: 'geom_ash.r' 'geom_bkde.r' 'geom_bkde2d.r' - 'geom_col.r' 'geom_encircle.r' 'geom_table.r' 'geom_xspline.r' diff --git a/NAMESPACE b/NAMESPACE index 868cc5d..0930866 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,7 +9,6 @@ export(CoordProj) export(Gb) export(GeomBkde) export(GeomBkde2d) -export(GeomCol) export(GeomEncircle) export(GeomStateface) export(GeomXSpline2) @@ -25,7 +24,6 @@ export(bytes) export(coord_proj) export(geom_bkde) export(geom_bkde2d) -export(geom_col) export(geom_encircle) export(geom_stateface) export(geom_xspline) diff --git a/R/geom_col.r b/R/geom_col.r deleted file mode 100644 index 4cdf0ef..0000000 --- a/R/geom_col.r +++ /dev/null @@ -1,71 +0,0 @@ -#' Bars, rectangles with bases on x-axis but with "identity" as the -#' default "stat" -#' -#' This is an alternative to \code{geom_bar} for making bar charts, -#' It uses \code{stat="identity"} which requires you to map a variable to -#' the \code{y} aesthetic. There is no option to use another "stat". -#' -#' @export -#' @section Aesthetics: -#' \code{geom_col} understands the following aesthetics (required aesthetics -#' are in bold): -#' \itemize{ -#' \item \strong{\code{x}} -#' \item \strong{\code{y}} -#' \item \code{alpha} -#' \item \code{color} -#' \item \code{fill} -#' \item \code{linetype} -#' \item \code{size} -#' } -#' -#' @inheritParams ggplot2::geom_bar -#' @param width Bar width. By default, set to 90\% of the resolution of the data. -#' @examples -#' df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2)) -#' ggplot(df, aes(trt, outcome)) + geom_col() -geom_col <- function(mapping = NULL, data = NULL, - position = "stack", - ..., - width = NULL, - na.rm = FALSE, - show.legend = NA, - inherit.aes = TRUE) { - - layer( - data = data, - mapping = mapping, - stat = "identity", - geom = GeomCol, - position = position, - show.legend = show.legend, - inherit.aes = inherit.aes, - params = list( - width = width, - na.rm = na.rm, - ... - ) - ) -} - -#' @rdname ggalt-ggproto -#' @format NULL -#' @usage NULL -#' @export -GeomCol <- ggproto("GeomCol", GeomRect, - required_aes = c("x", "y"), - - setup_data = function(data, params) { - data$width <- data$width %||% - params$width %||% (resolution(data$x, FALSE) * 0.9) - transform(data, - ymin = pmin(y, 0), ymax = pmax(y, 0), - xmin = x - width / 2, xmax = x + width / 2, width = NULL - ) - }, - - draw_panel = function(self, data, panel_scales, coord, width = NULL) { - # Hack to ensure that width is detected as a parameter - ggproto_parent(GeomRect, self)$draw_panel(data, panel_scales, coord) - } -) diff --git a/man/geom_col.Rd b/man/geom_col.Rd deleted file mode 100644 index b481757..0000000 --- a/man/geom_col.Rd +++ /dev/null @@ -1,76 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/geom_col.r -\name{geom_col} -\alias{geom_col} -\title{Bars, rectangles with bases on x-axis but with "identity" as the -default "stat"} -\usage{ -geom_col(mapping = NULL, data = NULL, position = "stack", ..., - width = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) -} -\arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link{aes}} or -\code{\link{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}}. - - 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}} 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{position}{Position adjustment, either as a string, or the result of -a call to a position adjustment function.} - -\item{...}{other arguments passed on to \code{\link{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.} - -\item{width}{Bar width. By default, set to 90\% of the resolution of the data.} - -\item{na.rm}{If \code{FALSE} (the default), removes missing values with -a warning. If \code{TRUE} silently removes missing values.} - -\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.} - -\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}}.} -} -\description{ -This is an alternative to \code{geom_bar} for making bar charts, -It uses \code{stat="identity"} which requires you to map a variable to -the \code{y} aesthetic. There is no option to use another "stat". -} -\section{Aesthetics}{ - -\code{geom_col} understands the following aesthetics (required aesthetics -are in bold): -\itemize{ - \item \strong{\code{x}} - \item \strong{\code{y}} - \item \code{alpha} - \item \code{color} - \item \code{fill} - \item \code{linetype} - \item \code{size} -} -} -\examples{ -df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2)) -ggplot(df, aes(trt, outcome)) + geom_col() -} - diff --git a/man/ggalt-ggproto.Rd b/man/ggalt-ggproto.Rd index eb9693c..e209d56 100644 --- a/man/ggalt-ggproto.Rd +++ b/man/ggalt-ggproto.Rd @@ -1,11 +1,10 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/coord_proj.r, R/geom_ash.r, R/geom_bkde.r, R/geom_bkde2d.r, R/geom_col.r, R/geom_encircle.r, R/geom_xspline.r, R/geom_xspline2.r, R/stateface.r +% Please edit documentation in R/coord_proj.r, R/geom_ash.r, R/geom_bkde.r, R/geom_bkde2d.r, R/geom_encircle.r, R/geom_xspline.r, R/geom_xspline2.r, R/stateface.r \docType{data} \name{CoordProj} \alias{CoordProj} \alias{GeomBkde} \alias{GeomBkde2d} -\alias{GeomCol} \alias{GeomEncircle} \alias{GeomStateface} \alias{GeomXSpline2}