Open
Description
This is from r-lib/pillar#404 that implements scale_type.pillar_num()
(returning "num"
) and scale_x_num()
and scale_y_num()
. The scales become available only after the pillar package is attached, see below. This seems to be due to how scale lookup is performed in
Line 13 in c89c265
Should we allow scale_type()
to return a reference to an environment where to (also) look for scale functions? Perhaps if our scale_type()
returns "pillar::num"
, or as an attribute to the value returned by scale_type()
?
data <- tibble::tibble(
x = pillar::num((1:10) / 100, fixed_exponent = -3, notation = "eng"),
y = pillar::num((1:10) / 100, scale = 100, label = "%"),
z = pillar::num(10^(-5:4), notation = "si")
)
data
#> # A tibble: 10 × 3
#> x y z
#> <eng> % <si>
#> 1 10e-3 1 10µ
#> 2 20e-3 2 100µ
#> 3 30e-3 3 1m
#> 4 40e-3 4 10m
#> 5 50e-3 5 100m
#> 6 60e-3 6 1
#> 7 70e-3 7 10
#> 8 80e-3 8 100
#> 9 90e-3 9 1k
#> 10 100e-3 10 10k
ggplot2::ggplot(data, ggplot2::aes(x, y)) +
ggplot2::geom_point()
library(pillar)
ggplot2::ggplot(data, ggplot2::aes(x, y)) +
ggplot2::geom_point()
Created on 2021-12-28 by the reprex package (v2.0.1)
r-quantities/units#294 is also affected, CC @Enchufa2.