添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
object

When chaining, this holds an object produced in the earlier portions of the chain. Most users can safely ignore this argument. See details and examples.

gformula

A formula with shape ymin + ymax ~ x . Faceting can be achieved by including | in the formula.

The data to be displayed in this layer. There are three options:

If NULL , the default, the data is inherited from the plot data as specified in the call to ggplot() .

A data.frame , or other object, will override the plot data. All objects will be fortified to produce a data frame. See fortify() for which variables will be created.

A function will be called with a single argument, the plot data. The return value must be a data.frame , and will be used as the layer data. A function can be created from a formula (e.g. ~ head(.x, 10) ).

Additional arguments. Typically these are (a) ggplot2 aesthetics to be set with attribute = value , (b) ggplot2 aesthetics to be mapped with attribute = ~ expression , or (c) attributes of the layer as a whole, which are set with attribute = value .

alpha

Opacity (0 = invisible, 1 = opaque).

color

A color or a formula used for mapping color.

group

Used for grouping.

linetype

A linetype (numeric or "dashed", "dotted", etc.) or a formula used for mapping linetype.

linewidth

A numerical line width or a formula used for mapping linewidth.

Label for x-axis. See also gf_labs() .

Label for y-axis. See also gf_labs() .

title, subtitle, caption

Title, sub-title, and caption for the plot. See also gf_labs() .

The geometric object to use to display the data, either as a ggproto Geom subclass or as a string naming the geom stripped of the geom_ prefix (e.g. "point" rather than "geom_point" )

The statistical transformation to use on the data for this layer, either as a ggproto Geom subclass or as a string naming the stat stripped of the stat_ prefix (e.g. "count" rather than "stat_count" )

position

Position adjustment, either as a string naming the adjustment (e.g. "jitter" to use position_jitter ), or the result of a call to a position adjustment function. Use the latter if you need to change the settings of the adjustment.

show.legend

logical. Should this layer be included in the legends? NA , the default, includes if any aesthetics are mapped. FALSE never includes, and TRUE always includes. It can also be a named logical vector to finely select the aesthetics to display.

show.help

If TRUE , display some minimal help.

inherit

A logical indicating whether default attributes are inherited.

environment

An environment in which to look for variables not found in data .

size aesthetic for points ( gf_pointrange() ).

fatten

A multiplicative factor used to increase the size of the middle bar in geom_crossbar() and the middle point in geom_pointrange() .

fun.ymin, fun.y, fun.ymax

[Deprecated] Use the versions specified above instead.

fun.args

Optional additional arguments passed on to the functions.

See also

Examples

gf_linerange()
#> gf_linerange() uses 
#>     * a formula with shape ymin + ymax ~ x or y ~ xmin + xmax. 
#>     * geom:  linerange 
#>     * key attributes:  alpha, color, group, linetype, linewidth
#> For more information, try ?gf_linerange
gf_ribbon(low_temp + high_temp ~ date,
  data = mosaicData::Weather,
  fill = ~city, alpha = 0.4
  gf_theme(theme = theme_minimal())
gf_linerange(
  low_temp + high_temp ~ date | city ~ .,
  data = mosaicData::Weather,
  color = ~ ((low_temp + high_temp) / 2)
  gf_refine(scale_colour_gradientn(colors = rev(rainbow(5)))) |>
  gf_labs(color = "mid-temp")
gf_ribbon(low_temp + high_temp ~ date | city ~ ., data = mosaicData::Weather)
# Chaining in the data
mosaicData::Weather |>
  gf_ribbon(low_temp + high_temp ~ date, alpha = 0.4) |>
  gf_facet_grid(city ~ .)
if (require(mosaicData) && require(dplyr)) {
  HELP2 <- HELPrct |>
    group_by(substance, sex) |>
    summarise(
      age = NA,
      mean.age = mean(age),
      median.age = median(age),
      max.age = max(age),
      min.age = min(age),
      sd.age = sd(age),
      lo = mean.age - sd.age,
      hi = mean.age + sd.age
  gf_jitter(age ~ substance, data = HELPrct,
      alpha = 0.5, width = 0.2, height = 0, color = "skyblue") |>
    gf_pointrange(mean.age + lo + hi ~ substance, data = HELP2) |>
    gf_facet_grid(~sex)
  gf_jitter(age ~ substance, data = HELPrct,
    alpha = 0.5, width = 0.2, height = 0, color = "skyblue") |>
    gf_errorbar(lo + hi ~ substance, data = HELP2, inherit = FALSE) |>
    gf_facet_grid(~sex)
  # width is defined differently for gf_boxplot() and gf_jitter()
  #   * for gf_boxplot() it is the full width of the box.
  #   * for gf_jitter() it is half that -- the maximum amount added or subtracted.
  gf_boxplot(age ~ substance, data = HELPrct, width = 0.4) |>
    gf_jitter(width = 0.4, height = 0, color = "skyblue", alpha = 0.5)
  gf_boxplot(age ~ substance, data = HELPrct, width = 0.4) |>
    gf_jitter(width = 0.2, height = 0, color = "skyblue", alpha = 0.5)
#> `summarise()` has grouped output by 'substance'. You can override using the
#> `.groups` argument.
p <- gf_jitter(mpg ~ cyl, data = mtcars, height = 0, width = 0.15); p
p |> gf_summary(fun.data = "mean_cl_boot", color = "red", size = 2, linewidth = 1.3)
# You can supply individual functions to summarise the value at
# each x:
p |> gf_summary(fun.y = "median", color = "red", size = 3, geom = "point")
#> No summary function supplied, defaulting to `mean_se()`
  gf_summary(fun.y = "mean", color = "red", size = 3, geom = "point") |>
  gf_summary(fun.y = mean, geom = "line")
#> No summary function supplied, defaulting to `mean_se()`
#> No summary function supplied, defaulting to `mean_se()`
  gf_summary(fun.y = mean, fun.ymin = min, fun.ymax = max, color = "red")
#> No summary function supplied, defaulting to `mean_se()`
if (FALSE) {
  gf_summary(fun.ymin = min, fun.ymax = max, color = "red", geom = "linerange")
gf_bar(~ cut, data = diamonds)
gf_col(price ~ cut, data = diamonds, stat = "summary_bin", fun.y = "mean")
#> No summary function supplied, defaulting to `mean_se()`
#> No summary function supplied, defaulting to `mean_se()`
#> No summary function supplied, defaulting to `mean_se()`
#> No summary function supplied, defaulting to `mean_se()`
#> No summary function supplied, defaulting to `mean_se()`
# Don't use gf_lims() to zoom into a summary plot - this throws the
# data away
p <- gf_summary(mpg ~ cyl, data = mtcars, fun.y = "mean", geom = "point")
#> No summary function supplied, defaulting to `mean_se()`
p |> gf_lims(y = c(15, 30))
#> Warning: Removed 9 rows containing non-finite values (`stat_summary()`).
#> No summary function supplied, defaulting to `mean_se()`
# Instead use coord_cartesian()
p |> gf_refine(coord_cartesian(ylim = c(15, 30)))
#> No summary function supplied, defaulting to `mean_se()`
# A set of useful summary functions is provided from the Hmisc package.
if (FALSE) {
p <- gf_jitter(mpg ~ cyl, data = mtcars, width = 0.15, height = 0); p
p |> gf_summary(fun.data = mean_cl_boot, color = "red")
p |> gf_summary(fun.data = mean_cl_boot, color = "red", geom = "crossbar")
p |> gf_summary(fun.data = mean_sdl, group = ~ cyl, color = "red",
                   geom = "crossbar", width = 0.3)
p |> gf_summary(group = ~ cyl, color = "red", geom = "crossbar", width = 0.3,
        fun.data = mean_sdl, fun.args = list(mult = 1))
p |> gf_summary(fun.data = median_hilow, group = ~ cyl, color = "red",
        geom = "crossbar", width = 0.3)
# An example with highly skewed distributions:
if (require("ggplot2movies")) {
  set.seed(596)
  Mov <- movies[sample(nrow(movies), 1000), ]
  m2 <- gf_jitter(votes ~ factor(round(rating)), data = Mov, width = 0.15, height = 0, alpha = 0.3)
  m2 <- m2 |>
    gf_summary(fun.data = "mean_cl_boot", geom = "crossbar",
               colour = "red", width = 0.3) |>
    gf_labs(x = "rating")
  # Notice how the overplotting skews off visual perception of the mean
  # supplementing the raw data with summary statistics is _very_ important
  # Next, we'll look at votes on a log scale.
  # Transforming the scale means the data are transformed
  # first, after which statistics are computed:
  m2 |> gf_refine(scale_y_log10())
  # Transforming the coordinate system occurs after the
  # statistic has been computed. This means we're calculating the summary on the raw data
  # and stretching the geoms onto the log scale.  Compare the widths of the
  # standard errors.
  m2 |> gf_refine(coord_trans(y="log10"))
#> Loading required package: ggplot2movies