Как показать все метки по оси X 45 градусов на гистограмме R 2x2
Со следующими данными:
Method Metric E0 E1 E2 E4
Method-XXX Precision 0.9661017 0.9622642 1 0.9655172
Method-YYY Precision 0.533 0.535 0.378 0.214
Method-ZZZ Precision 0.595 0.843 0.77 0.689
Method-XZZZ Precision 0.573 0.698 0.53 0.708
Method-XZZZY Precision 0.008 0.011 0.004 0.002
Method-XXX Recall 0.9736842 0.9736842 0.9473684 0.9473684
Method-YYY Recall 1 1 1 0.667
Method-ZZZ Recall 0.833 1 1 1
Method-XZZZ Recall 1 1 1 1
Method-XZZZY Recall 0.167 0.75 1 1
Я могу создать этот сюжет:
Однако, как вы можете видеть, оси X не все назначены с метками. Как я могу этого достичь? Также нормально, если мы повернем ось X на 45 градусов. Но тогда я не уверен, как это сделать:
Это мой код (предоставленоthelatemail):
dat <- read.table("http://dpaste.com/1563769/plain/",header=TRUE)
layout(matrix(c(1,2,5,3,4,5),nrow=2,byrow = TRUE))
barcols <- c("red","blue")
sapply(3:6,
function(x) {
bp <- barplot(matrix(dat[,x],nrow=2,byrow=TRUE),beside=TRUE,col=barcols)
title(main=names(dat[x]))
axis(1,at=colMeans(bp),c("Method-XXX","Method-YYY"," Method-ZZZ","Method-XZZZ"," Method-XZZZY"),lwd=0,lwd.tick=1)
abline(h=0)
}
)
plot(NA,xlim=c(0,1),ylim=c(0,1),ann=FALSE,axes=FALSE)
legend(0,0.6,c("Precision","Recall"),fill=barcols,cex=1.5)
Обновить
Я попробовал следующее, чтобы получить 45 градусов. Но тоже не сработало:
sapply(3:6,
function(x) {
bp <- barplot(matrix(dat[,x],nrow=2,byrow=TRUE),xaxt="n",beside=TRUE,col=barcols)
title(main=names(dat[x]))
xaxislab <- c("Method-XXX","Method-YYY"," Method-ZZZ","Method-XZZZ"," Method-XZZZY")
text(cex=1, x=colMeans(bp)-.25, y=-1.25, xaxislab, xpd=TRUE, srt=45)
#axis(1,at=colMeans(bp),xaxislab,lwd=0,lwd.tick=1)
#abline(h=0)
}
)
plot(NA,xlim=c(0,1),ylim=c(0,1),ann=FALSE,axes=FALSE)
legend(0,0.1,c("Precision","Recall"),fill=barcols,cex=1.5)