ggplot2
ggplot2 copied to clipboard
An implementation of the Grammar of Graphics in R
I'm suspecting that we'd want a more succinct way of indicating what facetting the plot has in these types of situations: ``` r library(ggplot2) p data: manufacturer, model, displ, year,...
This is a minor gripe, but in `scale_*_continuous(n.breaks = 20)`, the `n.breaks` only kicks in when `breaks = waiver()` (the default). The ask here is to also have `n.breaks` apply...
This PR aims to (eventually) fix #6142. Briefly, it introduces `boilerplate()` that can take in a ggproto class and spit out a constructor. This PR is a proof-of-concept because it...
This PR aims to fix #6147 and fix #6089. Briefly, `names(breaks)` is used as default label for discrete breaks. We also use this mechanism to populate discrete secondary labels (#6089)....
As the title implies, continuous scales use `names(breaks)` as their labels, whereas discrete scales do not: ``` r library(ggplot2) ggplot(mpg, aes(drv, hwy)) + geom_boxplot() + scale_y_continuous( breaks = c(twenty =...
This PR does not fix an active issue. Instead it fixes a bug that should have been an issue, but isn't. Briefly, when `linearGradient` is found in {grid}'s namespace, we...
This PR aims to fix #6144. It simply doesn't attempt to pre-transform the limits when the limits is a function. Reprex from issue: ``` r devtools::load_all("~/packages/ggplot2") #> ℹ Loading ggplot2...
According to the docs, `scale_x_binned()` and friends can be given a function for `limits`. However, this fails when a transform is also set. This example is supposed to make a...
A lot of ggplot2 code is boilerplate code, that is, repeated section of code with little to no variation. Think of all the `geom_*()` or `stat_*()` or `scale_*()` constructors, which...
To create plots with marginals, it would be helpful if there was a straightforward method to reliably create copies of trained position scales. I'm wondering whether this is possible or...