-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Open
Description
I think it would be nice to expose the stat argument in geom_vline and geom_hline. These are rare exceptions where you aren't be able to access the Geom from the analogous user-facing function geom_*(), like geom_segment(stat = StatManual), geom_point(stat = StatNewCustom)...
The following modification might be in the right direction. The stat change does raise some more questions of exposing position, and other arguments additionally.
geom_vline <- function(mapping = NULL, data = NULL,
...,
xintercept,
na.rm = FALSE,
show.legend = NA,
stat = "identity") { #<<<< new exposed argument
# Act like an annotation
if (!missing(xintercept)) {
# Warn if supplied mapping and/or data is going to be overwritten
if (!is.null(mapping)) {
cli::cli_warn("{.fn geom_vline}: Ignoring {.arg mapping} because {.arg xintercept} was provided.")
}
if (!is.null(data)) {
cli::cli_warn("{.fn geom_vline}: Ignoring {.arg data} because {.arg xintercept} was provided.")
# add a warning about stat being ignored if xintercept is provided ?
}
data <- data_frame0(xintercept = xintercept)
mapping <- aes(xintercept = xintercept)
show.legend <- FALSE
}
layer(
data = data,
mapping = mapping,
stat = stat, #<<<< not fixed
geom = GeomVline,
position = PositionIdentity,
show.legend = show.legend,
inherit.aes = missing(xintercept), #<<<< This change or similar
params = rlang::list2(
na.rm = na.rm,
...
)
)
Metadata
Metadata
Assignees
Labels
No labels