阴影线的宽度而不影响R中的边框宽度

时间:2019-12-09 22:58:35

标签: r bar-chart

我想在R中绘制粗斜线而不更改边框宽度。这是一个更改边框宽度的示例:

barplot(c(3,4,5),col="red")
par(lwd=8)
barplot(c(3,4,5),col="blue",density=5,angle=45,add=T)
par(lwd=1)

enter image description here

这里尝试做同样的事情,但是去掉了边框,但是蓝色随后流到了背景中,看起来也不好。我需要有一个黑色的细边框。:

barplot(c(3,4,5),col="red")
par(lwd=8)
barplot(c(3,4,5),col="blue",density=5,angle=45,border=NA,add=T)
par(lwd=1)

enter image description here

还有其他想法吗? (不使用ggplot)

1 个答案:

答案 0 :(得分:3)

您可以使用ablineclip包中的plotrix

graphics.off()
x = c(3, 4, 5)
w = 2
b = barplot(x, col = "red", width = w)
par(lwd = 8)

library(plotrix)

for(i in seq_along(b)){
    for (p in seq(-(b[i] + w/2), x[i], 0.25)) {
        ablineclip(a = p, b = pi/8, x1 = b[i] - w/2,
                   x2 = b[i] + w/2, col = "blue", y1 = 0, y2 = x[i])
    }
}

enter image description here