我注意到,使用scales包,可以使用轴内的scales = dollar选项(例如scale_y_log10())在轴上显示美元。似乎缺少scales = euro这样的选项。我有一种简单的方法可以达到相同的效果吗?

最佳答案

修改dollar_format并将符号更改为euro很容易。运行它并将其放在代码中,就像调用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))
  }
}

09-27 06:53