用加号打印正数

时间:2016-05-19 13:47:08

标签: r ggplot2

我正在计算年份和参考年份之间的差异。我想将结果用作图中的x值。但是如何打印带有正数的+号(-2,-1,0,+ 1,+ 2)?

dat <- data.frame(year = c(2000, 2001, 2002, 2003, 2004), ref = rep(2002)) 
dat$diff <- dat$year - dat$ref

ggplot(dat, aes(x = diff))

2 个答案:

答案 0 :(得分:6)

你可以做到

library(ggplot2)
dat <- data.frame(year = c(2000, 2001, 2002, 2003, 2004), ref = rep(2002)) 
dat$diff <- dat$year - dat$ref
ggplot(dat, aes(x = diff)) + 
  scale_x_continuous(labels = function(x) sprintf("%+d", x))

答案 1 :(得分:2)

这也可以通过模糊的symnum函数和可靠的paste0来完成。在这里,0没有前面加上“+”。

ggplot(dat, aes(x = diff)) + 
   scale_x_continuous(labels = function(x) paste0(symnum(x, c(-Inf, 0, Inf), c("", "+")), x))