barplot
также выбрасывает координатную матрицу, которую мы можем поймать по присваиванию, здесь b <-
. Теперь мы можем сделать axis
с галочками в нужных местах. Чтобы избежать переполнения графика, мы могли бы объединить избыточную информацию о месяце и просто разбить разные годы на mtext
строки. Я использовал здесь встроенный month.abb
с.
b <- barplot(DF, beside=T, col=c("red","darkblue"),
legend.text=c("1987-88", "2010-11"),
args.legend=list(x="topleft", cex=1.2, bty="n", x.intersp=0.2),
ylab="Precipitation (mm)", cex.axis=1.2, cex.lab=1.5, ylim=c(0, 130))
axis(1, at=b[1, ], labels=FALSE)
axis(1, at=b[2, ], labels=FALSE)
mtext(rep(c(1987, 1988), each=12), 1, 1, at=b[1, ], cex=.8, las=2)
mtext(rep(c(2010, 2011), each=12), 1, 1, at=b[2, ], cex=.8, las=2)
mtext(rep(month.abb, 2), 1, 3, at=colMeans(b), las=2)
Результат
Если вы также хотите сократить разрыв между осями y
и x
, вы можете добавить эту строку:
abline(h=0, cex=1.3)