欧元签到ggplot:scale包

时间:2012-08-13 13:57:12

标签: r ggplot2

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

2 个答案:

答案 0 :(得分: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))
  }
}

答案 1 :(得分:12)

您可以使用prefix

suffixdollar_format参数

例如:

library(ggplot2)
library(scales)       
ggplot(diamonds) + geom_point(aes(x = carat, y =  price)) + scale_y_continuous(labels = dollar_format(suffix = "€", prefix = ""))