Open davidhodge931 opened 2 months ago
This has been on my mind as well to make the interface between scales and palettes somewhat smoother.
Your first example can be replaced with discrete_scale("colour", palette = scales::pal_hue())
, but this is not so much the case for the continuous examples.
For this to happen, I think {scales} needs to start describing palette functions more so that some properties are easily queried. Useful properties to know about palettes are:
n
values.n
it will accept?NA
handlers (e.g. via scales::colour_ramp()
)?If we know this, we can automatically expand discrete palettes to continuous ones by using e.g. colour_ramp(discrete_pal()(n_max))
, or discretise continuous palettes by using continuous_pal()(seq(0, 1, length.out = n)
.
It'd be great if it was possible to do this for all of the non-positional scales, especially colour/fill