如何保持刻度和标签之间的空间最小?

时间:2018-05-16 16:18:54

标签: r plot graph label

我在这里遇到一个小问题,我希望能有一些提示。

如何更改刻度和标签之间的空间? (用1和2表示)

enter image description here

  

我目前的结构如下:

par(mfrow=c(5,2),oma=c(0,0,2,0),las=1,mar=c(3,5,2,1),cex.lab=0.9, cex.axis=0.7)
plot(sapply(ERRORS.train.fast[[1]],mean),main="Pipe 63569",type="l", ylab="", xlab="",xaxt="n")
axis(1, at=1:29,labels=seq(2,30,1))
title(ylab= "RMSE (-)",line=3)
title(xlab= "K-Value",line=2)

非常感谢您的帮助!

欢呼声, 奥利

2 个答案:

答案 0 :(得分:0)

您可以对垂直于阅读方向的每个刻度标签使用padj参数进行“调整。”(来自?axis

par(mfrow = c(1, 2))
plot(1:5, axes = F)
axis(1)

plot(1:5, axes = F)
axis(1, padj = -.75)

enter image description here

不幸的是,不同轴的方向是不同的(因为它与文本的“向上”相对),因此要将标签移动到更接近刻度线,您需要更低padj水平轴的值,但垂直轴的值更高padj

如果您旋转标签(如垂直轴上的示例图所示),您将使用hadj代替padj。总的来说,我希望你想要这样的东西:

plot(1:5, axes = F)
axis(1, padj = -.75)
axis(2, hadj = 0, las = 1)

答案 1 :(得分:0)

您可以使用mpg标准杆。

par(mfrow=c(1,2))
plot(iris[,3:4], pch=20, col=rainbow(3)[iris$Species],
    ylab="", xlab="",xaxt="n")
axis(1, at=1:7)
plot(iris[,3:4], pch=20, col=rainbow(3)[iris$Species],
    ylab="", xlab="", xaxt="n")
axis(1, at=1:7, mgp=c(0,0.5,0))

Two axes