在条形图中的条形画边框?

时间:2011-08-17 18:29:52

标签: r plot bar-chart

我正在绘制一个带有粗条边框的简单条形图:

par(lwd=3)
barplot(c(6,7))
arrows(0,0,10,0,lwd=1)

边框在x轴上略微伸出,看起来很糟糕。

有没有办法在每个栏中绘制边框,而不是在它周围?

2 个答案:

答案 0 :(得分:1)

我能想到的最好的方法是通过在border = NA中设置barplot,然后使用lines添加边框来手动黑客攻击:

par(lwd = 3, lend = 2)
barplot(c(6,7),border = NA)
lines(c(0.2,0.2,1.2,1.2),c(0.02,6,6,0.02))
lines(c(1.4,1.4,2.4,2.4),c(0.02,7,7,0.02))

enter image description here

这远非理想。 lines中使用的坐标假设条之间的默认值为0.2,将底部向上拉至0.02只是基于我的眼球。您可能需要根据具体情况修补它。

答案 1 :(得分:0)

我的建议是在找不到剪辑() - ping或简单的“内部边框”答案之后是这个建议:

opar <- par(lwd=3)
barplot(c(6,7))
arrows(0,0,10,0,lwd=3, col="grey")
par(opar)

它的优点是它不会夹住较高条的顶部。打赌你没注意到。在我使用lwd = 10之前,我没有注意到它。