如何定义barplot附加栏的间距?

问题描述 投票:1回答:1

我想绘制y1y0和并排他们比dy侧。 dy应该出现在主要的酒吧后面的小间距。的(旋转)x轴蜱应属于一起的三个条下居中。

我一直在widthspace以及一会儿at选项瞎搞,但我不明白它背后的理由呢。最好的解决办法,到目前为止是添加了新的情节为dy,但它远远仍然理想,虽然。

barplot(rbind(d$y0, d$y1), beside=TRUE, xaxt="n", col=c("darkgrey", "white")
        # , width=c(1, 1, .2)
        , space=c(0, 2)
        )
barplot(d$dy, add=TRUE, width=.2, space=c(19, 25), col="blue", xaxt="n")
box()
axis(1, at=seq(1:7)*4 - 1.5, labels=2000:2006, las=2)

enter image description here

我如何能做到这一点与基地情节?谁能解释如何定义的参数?

预计输出

预期的输出应该是这样的。

enter image description here

数据

d <- structure(list(y0 = c(837.4, 798.6, 817.9, 882.6, 870.3, 857.9, 
776.6), y1 = c(827.1, 790, 807.7, 871.9, 861.8, 849.5, 768.2), 
    dy = c(122.999761165512, 107.688454795893, 124.709622203203, 
    121.232721504646, 97.6674709870162, 97.9135097330686, 108.163790883338
    )), class = "data.frame", row.names = c("1", "2", "3", "4", 
"5", "6", "7"))
r plot
1个回答
4
投票

您可以在原箱线图添加额外的(蓝色)条让它去排队的权利。我也在酒吧里零高度空间的蓝条。为了使蜱排队,保存和使用从调用返回箱线图。

BP = barplot(rbind(d$y0, d$y1, rep(0,7), d$dy), beside=TRUE, 
    xaxt="n", width=c(1,1,0.4,0.2), space=c(0, 2),
    col=c("darkgrey", "white", "white", "blue"))
box()
axis(1, at=(BP[1,] + BP[2,])/2, labels=2000:2006, las=2)

Barplot

按照barplot文档,

如果高度是一个矩阵和旁为TRUE,空间可以由两个数,其中第一个是条之间在同一组和组之间的空间中的空间,所述第二指定。

所以我用你不得不space=c(0,2)允许酒吧和群体之间的2个单位之间没有空格的。

至于宽,我想保持与小蓝条的1对两个主杆和0.2原始宽度。我试图使零高度酒吧是宽度0.2,但它似乎太接近,所以我加宽空格0.4。

© www.soinside.com 2019 - 2024. All rights reserved.