繁体   English   中英

控制R曲线轴的数字格式

[英]Controlling number formatting at axis of R plots

我有几个100k的值。 当我将它们绘制为R中的一条线(使用plot(type="l") ,x轴刻度旁边的数字以科学格式打印(例如0e+00,2e+04,...,1e+05相反,我希望他们是:

A) 0,20kb,...,100kb

B)相同但现在第一个坐标应为1(即从1开始计数而不是0)。

BTW R数组使用从1开始的编号(与perl,java等中的数组相比)所以我想知道为什么在绘制“他们”决定从0开始...

一个)

R> xpos <- seq(0, 1000, by=100)
R> plot(1:1000, rnorm(1000), type="l", xaxt="n")
R> axis(1, at=xpos, labels=sprintf("%.2fkb", xpos/1000))

B)与上述相同,调整xpos

这个问题已经很老了但是当我为所描述的问题寻找解决方案时,它的排名很高。 因此,我补充一点 - 很晚 - 回答并希望它可以帮助其他人:-)。

在某些情况下,使用R建议的刻度位置可能很有用。 R为此目的提供了axTicks功能。 可能它在R2.X不存在,但仅限于R3.X

一个)

myTicks = axTicks(1)
axis(1, at = myTicks, labels = paste(formatC(myTicks/1000, format = 'd'), 'kb', sep = ''))

B)

如果你绘制像plot(rnorm(1000)) ,那么第一个x值是1而不是0.因此,编号自动从1开始。也许这是以前版本的R

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM