3

我做了一个散点图,y 轴范围从 0 到 800,000。如何使 y 轴刻度显示数字(“0”、“200,000”、“400,000”、“600,000”、“800,000”)而不是它们的标准形式(“0e+00”、“2e+05” 、“4e+05”、“6e+05”、“8e+05”)?

4

4 回答 4

6

请参阅 中的scipen选项?options。这是一个例子:

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)

产生:

scipen_plot

其他选项包括axes = FALSEplot()调用中抑制轴,然后使用axis()自定义提供的标签添加您自己的轴format();详情见?format。如果您真的想要分隔千位的数字中的“,”,这就是要走的路。

于 2012-06-13T17:30:01.347 回答
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) 

在此处输入图像描述

于 2012-06-13T17:25:10.357 回答
1

使用格式和科学=假:

a<-c(100000, 200000)
format(a, scientific=FALSE)
于 2012-06-13T17:13:45.713 回答
1

您可以使用以下dplyr功能:

scale_y_continuous(labels = scales::comma)

于 2020-07-22T20:09:45.900 回答