当我用(axis(1, at=1:27, labels=labs[0:27]))手动添加以下标签时:
> labs[0:27]
[1] "0\n9.3%" "1\n7.6%" "2\n5.6%" "3\n5.1%" "4\n5.7%" "5\n6.5%" "6\n7.3%" "7\n7.6%" "8\n7.5%" "9\n7%" "10\n6.2%" "11\n5.2%"
[13] "12\n4.2%" ........
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:

如何强制绘制所有标签,以便不跳过1,3,5,6和11?(另外,为了额外的功劳,如何将整个内容移动几个像素?)
eip*_*i10 23
如果你真的想要强制显示所有标签,即使它们非常接近或重叠,你可以通过添加带有单独命令的奇数和偶数轴标签来"欺骗"R显示它们,如下所示:
labs <-c("0\n9.3%","1\n7.6%","2\n5.6%","3\n5.1%","4\n5.7%","5\n6.5%","6\n7.3%",
"7\n7.6%","8\n7.5%","9\n7%", "10\n6.2%","11\n5.2%","12\n4.2%",13:27)
n=length(labs)
plot(1:28, xaxt = "n")
axis(side=1, at=seq(1,n,2), labels=labs[seq(1,n,2)], cex.axis=0.6)
axis(side=1, at=seq(2,n,2), labels=labs[seq(2,n,2)], cex.axis=0.6)
Run Code Online (Sandbox Code Playgroud)
您可以使用它cex.axis来获取所需的文本大小.另请注意,您可能必须调整值的数量at=和/或labels=使它们相等.
我同意@PLapointe和@joran一般最好不要篡改R关于重叠的默认行为.然而,我有一些情况下轴标签看起来很好,即使它们不是相当完整的"m宽度"分开,我也尝试了交替使用奇数和偶数标签作为获取行为的方法我通缉.
Pie*_*nte 13
?轴告诉你:
代码努力不绘制重叠的刻度标签,因此将省略标签,它们将与先前绘制的标签邻接或重叠.例如,这可能导致标记每个其他刻度.(刻度线从左到右或从下到上绘制,标签之间至少留有'm'大小的空格.)
玩具,cex.axis使标签足够小,不会重叠
labs <-c("0\n9.3%","1\n7.6%","2\n5.6%","3\n5.1%","4\n5.7%","5\n6.5%","6\n7.3%",
"7\n7.6%","8\n7.5%","9\n7%", "10\n6.2%","11\n5.2%","12\n4.2%",12:27)
plot(1:27,xaxt = "n")
axis(side=1, at=1:27, labels=labs[0:27],cex.axis=0.35)
Run Code Online (Sandbox Code Playgroud)
如果您扩展图形(通过拖动或以编程方式手动),则可以增加标签的大小.