R:箱形图 - X轴太长

时间:2018-02-08 22:56:59

标签: r

我是R的新手并创建了一个箱线图,但我的x轴标签太长了。

有没有办法在没有使用ggplot2的情况下向上移动箱线图,因为我需要这个箱图与我的其他图表保持一致。

我还需要添加一个x轴标签,我知道要添加标签的mtext(...),但是当我之前尝试过它时,它会在屏幕上闪烁并消失。

我将附加我的当前代码,不带x轴标题或文本,只是x轴标签为long。

    ana2$B<-factor(ana2$Burn,c("N","L","S"))
    with(ana2,boxplot(Time~ana2$B*Graze, ylab= "Infiltration Rate (mm/h) " , xlab=" ", names=c("1954 burn-Grazed", "Long interval-Grazed", "Short interval-Grazed", "1954 burn-Ungrazed", "Long interval-Ungrazed",  "Short interval-Ungrazed"), cex.axis=0.75, ylim=c(0, 80000 ), las=2 ))

X axis too long for boxplot

1 个答案:

答案 0 :(得分:0)

我修改了图表以倾斜(修改过的)标签(如评论中建议的@joran)。未分级/磨碎部分分别标记。这部分是基于4年多前来自@Henrik(r boxplot tilted labels x axis)的查询答案。我已经使用了数据框的伪造数据和组合结构。也是x轴标签的空间。

labels=c("1954 burn", "Long interval",
     "Short interval", "1954 burn",
     "Long interval",  "Short interval")
par(mar=c(4,5,1,2))
boxplot(Time~Graze, ylim=c(0,80000),
    ylab= "Infiltration Rate (mm/h) ", axes=F,
    xlab=" ", data=ana2,
    names=rep('',6),
    las=2 )
axis(2,at=seq(0,80000,20000), labels=c('0','20k','40k','60k','80k'),las=1)
# place x labels
text(x=c(1:6)+.1, y=-5000, cex=.7, srt = 30, adj = 1.1,
 labels = labels, xpd = TRUE)
box()
text(2,70000,'Grazed', cex=.8)
text(5,70000,'Ungrazed', cex=.8)
text(3.5,-30000,'Condition')

enter image description here