R中的2个绘图问题

R中的2个绘图问题,r,plot,R,Plot,我想知道为什么在当前绘图中出现以下2个问题(请参阅并运行下面的R代码),以及如何解决这些问题: 问题1:绘图没有出现在我的显示窗口的中央面板中但是它出现在底部,在上面留下一个大的空白 问题2:Y轴上的记号似乎间隔不相等? 这是我的R代码: plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(.3333, 1000), log="y",ann=F, bty="n", axes=F) axis(side=1, at = seq(0,1.5,.25),l

我想知道为什么在当前绘图中出现以下2个问题请参阅并运行下面的R代码),以及如何解决这些问题:

问题1:绘图没有出现在我的显示窗口的中央面板中但是它出现在底部,在上面留下一个大的空白

问题2:Y轴上的记号似乎间隔不相等?

这是我的R代码:

plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(.3333, 1000), log="y",ann=F, bty="n", axes=F)

axis(side=1, at = seq(0,1.5,.25),labels = c("0",".25",".5",".75","1","1.25","1.5"))
axis(side=2, at = c(0.33, 1, 3, 10, 30, 100),labels=c("1/3", "1", "3", "10", "30", "100"), las=1)

您正在将范围定义为1000,但只标记为100。这应该可以解释其中的一些差距。您可以使用
par(mar=)
(请参阅
?par
帮助页)更明确地控制页边距。这不是完整答案,但与问题2有关:勾号在您指定的位置隔开
at=c(0.33,1,3,10,30,100)
diff(log(at))
显示出非常接近相等的间距,但是
log(3)
log(10)
之间的间距比其他的稍大。如果您想要在对数刻度上真正相等的间距,请使用
at=exp(seq(log(0.33),log(100),length.out=6))
。如果你想在标签上自由地轮换,那就看你了。将来,请一次问一个问题。如果问题只是问题2,我会写一个答案。如果只是问题1,Flick先生可能也会这么做。现在我们陷入了一个尴尬的阶段。(尽管我欢迎任何想要详细阐述我的评论并将其转化为完整答案的人。)Gregor,你的第二个答案非常有效,但即使我设置了
ylim=c(01100)
,在情节上方仍有很大的空间,我能做什么?