R轴上的间距不均匀

时间:2012-11-05 18:40:46

标签: r

我在使用R

绘制x轴上的不均匀比例图时遇到问题

以下是一个例子:

plot(1:100,1:100)

将在x轴上给出相等的刻度空间。

但是,我想显示图表,前半部分空间显示1到10,左半部分空间显示10到100,所以10到100点的密度更高,1:10点更容易看到。怎么用R?

像这样:

enter image description here

3 个答案:

答案 0 :(得分:2)

你可以log x轴:

x<-1:100
y<-1:100
plot(log(x,base=10),y,axes=F)
axis(2)
axis(1,at=0:2,labels=10^(0:2))

enter image description here

答案 1 :(得分:2)

对于对数轴,请使用:

plot(x,y,log="x")  ## specifies which axis to put on log scale

要确定要使用多少“刻度线”,请检查

par()$lab

默认为5,5,7。要放置更多x轴标签,请执行

par(lab=c(10,5,7))

对于y:

par(lab=c(5,10,7))

答案 2 :(得分:2)

这不是一件容易完成的一次性任务。您实际上需要转换为缩放数据并提供自定义刻度标记轴。你有没有考虑过简单地记录x轴的原因? (提供选项plot(x, y, log='x')将会这样做。)

我认为你所描述的是:

xnew <- ifelse(x<10, x, x/10)
plot(xnew, y, axes=FALSE, xlab='x')
axis(1, at=c(0, 10, 20), labels=c(0, 10, 100))
axis(2)
box()