移除图例“填充框”矩形:R绘图图例多余填充框问题求助
解决R语言图例多余填充矩形的问题
这个问题很常见,核心原因是你给的fill参数长度比图例条目少,R会自动循环填充所有条目,所以才出现了5个填充框。咱们只需要调整fill参数的长度和对应内容,让不需要填充的条目位置设为NA就行。
修改后的完整代码如下:
par(mar=c(10.1,4.1,4.1,8.1), xpd =TRUE) barplot(cp_ct2, beside = TRUE, col = c("darkblue","darkcyan"), las =2) legend("topright", inset = c(-0.6,0), legend = c("Slight","Serious","", "Chi2: 226","P.Val:0.000"), fill = c("darkblue","darkcyan", NA, NA, NA)) # 前两个设对应颜色,后三个设NA
关键修改说明:
- 把
fill参数的长度扩展到和legend条目数一致的5个元素,前两个保留你需要的darkblue和darkcyan,后面三个(包括空字符串条目)都设为NA,这样对应的图例条目就不会生成填充矩形。 - 空字符串的条目也对应
NA,所以它也不会显示填充框,完全符合你的需求。
执行这段代码后,就只有"Slight"和"Serious"两个条目带有填充矩形,Chi2、P.Val相关条目以及空条目都不会出现多余的填充框啦。
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

