0
我尝试使用barplot
来绘制几行酒吧的图。R - 将标签添加到带有多个酒吧的barplot的中间
x11()
X=c('May','July','September','November')
Y1=c(1,1,3,5)
Y2=c(5,5,6,7)
Y3=c(9,8,0,2)
C=rbind(Y1,Y2,Y3)
l <- c()
a=b=l
i <- 1
while(i<=length(X)) {
a[[i]] <- ''
b[[i]] <- X[i]
i <- i + 1
}
l=rbind(a,b,a,a)
plot(0, xlim=c(1,(length(Y1)*4)), ylim=c(0,10),)
bplot<-barplot(C,xaxt="n",beside=T, xlim=c(1,(length(Y1)*4)), ylim=c(0,10), lty=1, las=1)
axis(1, at=1:(length(Y1)*4), cex.axis=1, labels=l, tck=0)
Sys.sleep(40)
但并不是所有的标签出现,我的理解,因为他们在宽度过大(可以重叠)和plot
丢弃它们。我不得不为那些不应该有标签(左边的,右边的和间隙)的条形创建更多的无效标签。如果使用axis
cex.axis
属性使字体变小,则与其他元素和lloks相比,它会变得不成比例地变小。
我试图解决方案从that question,比如增加xaxt="n"
到barplot
,设置las=2
,axis(1, at=1:4, cex.axis=1, labels=b, tck=0)
,在barplot
设置names.arg
,但没有任何帮助。