R 将y轴记号标签从标准表格更改为完整数字

R 将y轴记号标签从标准表格更改为完整数字,r,R,我做了一个散点图,y轴范围从0到800000。如何使y轴记号显示数字(“0”、“200000”、“400000”、“600000”、“800000”)而不是其标准形式(“0e+00”、“2e+05”、“4e+05”、“6e+05”、“8e+05”)?使用格式和scientific=FALSE: a<-c(100000, 200000) format(a, scientific=FALSE) a以下是一个让您开始学习的示例: x <- 1:10 y <- runif(10) *

我做了一个散点图,y轴范围从0到800000。如何使y轴记号显示数字(“0”、“200000”、“400000”、“600000”、“800000”)而不是其标准形式(“0e+00”、“2e+05”、“4e+05”、“6e+05”、“8e+05”)?

使用格式和scientific=FALSE:

a<-c(100000, 200000)
format(a, scientific=FALSE)

a以下是一个让您开始学习的示例:

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) 

x参见
选项中的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)
set.seed(42)

dat您可以使用
dplyr
功能:


scale\u y\u continuous(labels=scales::comma)

我猜您的意思是在用自己的标签绘制自己的轴的过程中添加一些东西?否则这就没有意义了。是的,你必须像Josh在上面贴的那样创建自己的轴标签。对于货币来说,它也很方便。+1——除非你(OP)需要在你的刻度标签上加逗号,否则这就是方法。如果您确实需要它们,我相信您必须使用
format()
或类似的方法,如我的回答中所述。是的,我不确定
是否是有意的。这太完美了。谢谢你解释这两种方法,我发现它非常有用。