Closed
Description
hi, @thomasp85
Firstly, thank you for your hard works to improve ggplot2!
I think there is a small bug in ScaleBinned$get_breaks(), which is in:
Lines 991 to 993 in 115c396
As I known, end users has no way to set the value of ScaleBinned$n_bins, which has a NULL value by default.
So, when the breaks is a function provided by users, the function's second parameter will always set to be NULL.
As a consequence, users cannot get meaningful breaks by set breaks as a function in the scales, such as scale_colour_stepsn.
This is a simple example:
df <- data.frame(
x = runif(100),
y = runif(100),
z = rnorm(100)
)
brk <- function(limits, n_bins) {
if (is.null(n_bins))
stop("n_bins is always set to be NULL, users cannot implement useful function for breaks.")
else cat("users can set the value of n_bins, and get meaningful breaks using the values of limits and n_bins.")
}
library(ggplot2)
ggplot(df, aes(x, y)) +
geom_point(aes(colour = z)) +
scale_colour_stepsn(colours = terrain.colors(10), breaks = brk)
# Error in f(...) :
# n_bins is always set to be NULL, users cannot implement useful function for breaks.
I will opening a pull request for this bug, please consider it, thanks!
Metadata
Metadata
Assignees
Labels
No labels