R 带有对数刻度上自定义记号标记的x轴间距

R 带有对数刻度上自定义记号标记的x轴间距,r,plot,axis-labels,R,Plot,Axis Labels,我使用plot()将数据绘制在普通散点图中。我已将x轴的范围定义为在对数刻度上介于0和1000之间。到现在为止,一直都还不错。但是我有3个不同的数据集,其中一个数据集的间距是0,1,10,100,1000,而另外两个数据集的间距是“1”。我希望所有3个绘图都包含“1” 我尝试了xaxt=“n”然后尝试了axis(1,at=c(0,1,10,100,1000)) 然后在接近0的位置绘制1,因此在0和1之间没有日志缩放。我希望这不会太令人困惑。如何以对数比例绘制0,1,101001000,即所有这些

我使用
plot()
将数据绘制在普通散点图中。我已将x轴的范围定义为在对数刻度上介于0和1000之间。到现在为止,一直都还不错。但是我有3个不同的数据集,其中一个数据集的间距是0,1,10,100,1000,而另外两个数据集的间距是“1”。我希望所有3个绘图都包含“1”

我尝试了
xaxt=“n”
然后尝试了
axis(1,at=c(0,1,10,100,1000))

然后在接近0的位置绘制1,因此在0和1之间没有日志缩放。我希望这不会太令人困惑。如何以对数比例绘制0,1,101001000,即所有这些值之间的间距相同


我希望有人能帮忙

您需要这样做:

#plot 1
# i don't know what your ylim should be but you want them to be 
# minimum across y1, y2, y3 and maximum across y1, y2, y3
plot(x1,y1,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="red")
par(new=T)

#plot 2
plot(x2,y2,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="blue")
par(new=T)

#plot 3
plot(x3,y3,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="yellow")

#now put back in the axes
#y axis first
axis(2)
#x axis
axis(1,at=c(0, 1, 10, 100, 1000),label=c(0, 1, 10, 100, 1000))
box(bty="l")
这样做的目的是使三个图形具有相同的x和y范围;具体而言,所有图形的x范围将是相同的,从0到1000。两个轴都应该跨越数据。如果没有,只需要扩展x或y。用“
ylim=c(??)”
中的问号替换一些涵盖y值范围的数值


绘制数据后,您可以添加
语句以放入刻度和标签。

您是否尝试过在
绘图
中设置
xlim
?希望这会给您一个hint@fotNelton:是的,我使用xlim定义范围,但是R似乎在按照默认值对滴答声进行扫描。TWL:这是不是暗示我的帖子包含的信息太少了?对不起,我是个新手。但是如果你愿意,我会把整个剧本都贴出来