如何以log2(n + 1)格式重新缩放x轴上的标签?

时间:2012-08-15 04:06:23

标签: r plot scale

我想以log2(n+1)格式格式化我的x轴,因此x轴标签对应于1,2,4,1等等。

输入:

x <- c(1, 2, 3, 11, 15)
y <- c(1.1, 1.2, .4, 2.1, 1.5)

plot(log2(x + 1), y, axes=FALSE)
axis(1, at=(labels=as.character(formatC(x))), cex.axis=0.9)

但我得到的情节仍有原始的x轴值。

enter image description here

如何使我的x轴功率为2(1,2,4,16等)?

1 个答案:

答案 0 :(得分:4)

我想这就是你想要的。

x<-c(1,2,3,11,15) 
y<-c(1.1,1.2,.4,2.1,1.5)
lab<-c(1,2,4,16)
plot(log2(x+1),y,xaxt="n",xlab="x")
axis(1,at=log2(lab+1),labels=lab)

计算等间距标签可能也很有用:

lab<-round(2^seq(min(log2(x+1)),max(log2(x+1)),length.out=4)-1)