R中的轴格式

Axes formatting in R

我有一个 Y 轴格式为 "number.10^10" 的图。因此,Y 轴绘制了 1e+10、2e+10、3e+10.....10e+10 等值。我想将它打印为 1, 2, 3....10 并且我可以随时将它写在标签中,例如 "in multiples of 10^10"。我找不到解决办法。 例如

a=seq(1e+10,10e+10, by=1e+10)
b=seq(11e+10,20e+10, by=1e+10)
plot(a,b)

这是类似情节的样子,但我想删除那些 X10^10 因素

类似于这里的答案,我建议:

a=seq(1e+10,10e+10, by=1e+10)
b=seq(11e+10,20e+10, by=1e+10)
plot(a / 1e10, b / 1e10)

另一种选择是

plot(a,b, xaxt="n")
axis(1, at=a, labels=1:10)

您可以抑制原始坐标轴(x 用 xaxt 或 y 用 yaxt,然后使用 axis() 函数在您希望的任何位置添加您自己的标签

我们还可以使用 sprintf 专门格式化标签。我们生成绘图并抑制 x 和 y 轴,然后我们根据您的数据添加轴,采用整数格式。

a=seq(1e+10,10e+10, by=1e+10)
b=seq(11e+10,20e+10, by=1e+10)

plot(a,b, xaxt="n", yaxt="n")

axis(1, at=a, labels=sprintf("%1.f", a/(1e+10)))
axis(2, at=b, labels=sprintf("%1.f", b/(1e+10)))