如何在ggplot绘制的气泡图中为每个气泡添加外围网格框?
解决方案
要实现每个气泡对应分类单元格的独立外框,你可以在气泡图层下方新增矩形边框图层,完全避免默认网格线切割气泡的问题,具体实现代码如下:
library(ggplot2) # 构造分组列 iris$group = c(rep("A", 50), rep("C", 25), rep("D", 50), rep("E", 25)) ggplot(iris, aes(x = group, y = Species)) + # 新增单元格边框层,放在所有图层最底部 geom_tile(fill = NA, color = "red", linewidth = 1) + # 原有气泡图层 geom_point(aes(colour = Species, size = Sepal.Width)) + labs(x = NULL, y = NULL) + theme(legend.position = "none", panel.background = element_blank(), panel.grid = element_blank(), axis.ticks = element_blank())
参数调整说明
- 修改
geom_tile的color参数可以更换边框颜色,修改linewidth参数可以调整边框粗细 - 若需要增加边框和气泡之间的留白,可给
geom_tile添加width和height参数(取值范围0-1,数值越小留白越大),例如设置width = 0.9, height = 0.9即可缩小边框尺寸,适配气泡的显示效果
内容的提问来源于stack exchange,提问作者Ahdee
相关产品推荐
相关产品推荐

