我正在计算年份和参考年份之间的差异。我想将结果用作图中的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))
答案 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))