我做了一个散点图,y轴范围从0到800,000。如何使y轴刻度显示数字(" 0"," 200,000"," 400,000"," 600,000&#34 ;," 800,000")而不是他们的标准形式(" 0e + 00"," 2e + 05"," 4e + 05" ," 6e + 05"," 8e + 05")?
答案 0 :(得分:6)
请参阅?options
中的 scipen 选项。这是一个例子:
set.seed(42)
dat <- data.frame(x = runif(100, min = 0, max = 1000000),
y = runif(100, min = 0, max = 1000000))
layout(matrix(1:2, ncol = 2))
plot(y ~ x, data = dat)
opt <- options(scipen = 10)
plot(y ~ x, data = dat)
options(opt)
layout(1)
产生:
其他选项包括在axes = FALSE
调用中使用plot()
抑制轴,然后使用axis()
使用format()
添加自定义的带有自定义提供标签的轴;有关详细信息,请参阅?format
。如果你真的想要“数字”中的数字,这就是你要走的路。
答案 1 :(得分:4)
这是一个让你入门的例子:
x <- 1:10
y <- runif(10) * 1e6
yrange <- c(0, 1e6)
ticks <- pretty(yrange)
labels <- format(ticks, big.mark=",", scientific=FALSE)
plot(y~x, yaxt="n", ylim = yrange)
axis(2, at = ticks, labels = labels, las = 1, cex.axis=0.7)
答案 2 :(得分:1)
使用格式和科学= FALSE:
a<-c(100000, 200000)
format(a, scientific=FALSE)
答案 3 :(得分:1)
您可以使用dplyr
函数:
scale_y_continuous(labels = scales::comma)