Base R中带有颜色填充和阴影线的图例

时间:2013-03-25 14:59:16

标签: r plot legend base

在我的情节中,我有两个交叉的多边形,一个是彩色的,一个是阴影线。 在图例中,我希望正确表示两个多边形和交叉点数组。 这就是我所拥有的:

plot(1:4, 1:4, type="n", xaxt="n", xlab="", yaxt="n", ylab="")
polygon(c(2,4,2), c(1,3,3), col="gray")
polygon(c(3,3,1), c(1,3,2), col="red", density=10)
legend("topleft", legend=c("A", "B", "AB"), fill=c("gray", "red", "gray"),
           density=c(NA, 10, NA), bty="n") 

Intersecting polygons, legend problem

是否可以将B图例中的边框颜色更改为红色,并为AB的符号添加红色阴影线?

1 个答案:

答案 0 :(得分:12)

您应该将参数border=添加到legend()以更改小方框的边框颜色,然后向legend()添加另一个调用,以使用您的颜色将阴影叠加到AB框。在第二个legend()行中,我将AB设为density=为10,同时将fill=更改为红色。

plot(1:4, 1:4, type="n", xaxt="n", xlab="", yaxt="n", ylab="")
polygon(c(2,4,2), c(1,3,3), col="gray")
polygon(c(3,3,1), c(1,3,2), col="red", density=10)
legend("topleft", legend=c("A", "B", "AB"), fill=c("gray", "red", "gray"),
       density=c(NA, 10, NA), bty="n",border=c("black", "red", "black")) 
legend("topleft", legend=c("A", "B", "AB"), fill=c("gray", "red", "red"),
       density=c(NA, 10, 10), bty="n",border=c("black", "red", "black")) 

enter image description here