如何从 R 中的 scales 包制作的图中的标签中删除小数?

How to delete decimals from labels in plots made with the scales package in R?

我绘制了一个图,其中填充条为对数刻度。默认情况下,标签以 1e+011e+02 等格式出现。我选择使用 scales 包修改标签,使用 label_number() 函数。但是,值 0.1101000100000 出现时带有额外的小数位。有什么方法可以显示这些数字而无需额外的小数位?

我想要这样的序列:0.0010.1101000100000

library(ggplot2)
library(scales)

X <- 0
Y <- 0
Z <- 10

DF <- data.frame(X, Y, Z)

ggplot(data = DF,
       aes(x = X,
           y = Y,
           fill = Z)) +
  geom_tile() +
  scale_fill_distiller(palette = "YlGnBu",
                       trans = 'log10',
                       limits = c(0.001, 100000),
                       labels = label_number(big.mark = ""))

看看?label_number,你可以指定来自base::format()的参数。这里的技巧是 drop0trailing = T.

big.mark = ""用于去掉第1000位空的space。

ggplot(data = DF,
       aes(x = X,
           y = Y,
           fill = Z)) +
  geom_tile() +
  scale_fill_distiller(palette = "YlGnBu",
                       trans = 'log10',
                       limits = c(0.001, 100000),
                       labels = label_number(drop0trailing = T, big.mark = ""))