-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Open
Labels
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
scale_f <- find_global(scale, env, mode = "function") |
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.