8

我注意到,使用该scales软件包,可以在轴上显示美元,使用scales = dollar里面的选项,例如scale_y_log10(). scales = euro似乎缺少一个选项。有没有简单的方法让我达到同样的效果?

4

2 回答 2

22

您可以使用的prefixsuffix参数dollar_format

例如像这样:

library(ggplot2)
library(scales)       
ggplot(diamonds) + geom_point(aes(x = carat, y =  price)) + 
   scale_y_continuous(labels = dollar_format(suffix = "€", prefix = ""))
于 2015-08-28T07:01:19.227 回答
12

修改 Dollar_format 并将符号更改为欧元很容易。运行它并将其放入代码中,就像您调用的那样dollar_format

euro_format <- function(largest_with_cents = 100000) {
  function(x) {
    x <- round_any(x, 0.01)
    if (max(x, na.rm = TRUE) < largest_with_cents &
        !all(x == floor(x), na.rm = TRUE)) {
      nsmall <- 2L
    } else {
      x <- round_any(x, 1)
      nsmall <- 0L
    }
    str_c("€", format(x, nsmall = nsmall, trim = TRUE, big.mark = ",", scientific = FALSE, digits=1L))
  }
}
于 2012-08-13T17:14:33.013 回答