在r中的条形图中居条形标签

Eli*_*eth 3 plot r

如何将x轴上的标签对中以匹配条形图?另外,如何将x轴标签进一步向下定位,使其不被x轴标签遮挡?谢谢!

par(mar= c(15,4,4,2) + 0.1)
barplot(58:1,xaxt="n",xlab="",ylab="Frequency", col=gray(5:0/5))
axis(1, labels=FALSE)
text(1:58, par("usr")[3] - 0.25, srt = 90, adj = 1,
labels = rep("Long Species Name",58), xpd = TRUE)
mtext(1, text = "Species", line=6)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Rei*_*son 10

查看barplot()(通过阅读?barplot)的返回值.在那里我们发现条形的中点由函数作为向量返回.因此,分配返回的对象(此处为对象bar)然后在调用中使用它axis()来定位刻度线是一件简单的事情.

axis()通话,请注意,我们同时指定labels参数at说法,与at被设置为分栏作为中期存储bar.las = 2用于相对于轴旋转标签,cex.axis = 0.6用于减小标签尺寸.

你问题的第二部分是由title()line论证来处理的.首先请注意,当您设置mar参数时,您将在"行"中设置边距大小,因此第1面(底部)的边距为15行.该line在争论title()其边缘线的要绘制轴标签指定.

将这一点与修改后的示例完全相同,我们有:

op <- par(mar= c(15,4,4,2) + 0.1)
bar <- barplot(58:1, xaxt="n", xlab="", ylab="Frequency", col=gray(5:0/5))
axis(1, labels = paste("Long Species Name", 1:58), at = bar,
     las = 2, cex.axis = 0.6)
title(xlab = "Species", line=11)
par(op)
Run Code Online (Sandbox Code Playgroud)

哪个产生:

使用示例代码生成的barplot