如何移除ggforce::geom_mark_ellipse生成的标记椭圆的边框?
移除ggforce::geom_mark_ellipse的边框仅保留填充椭圆
要移除geom_mark_ellipse生成的椭圆边框,只保留填充效果,核心是将椭圆的轮廓颜色设为NA,具体有两种实现方式:
方法1:移除colour映射并关闭边框
直接在aes中仅保留fill的物种映射,同时显式设置colour = NA来关闭边框绘制:
library(palmerpenguins) library(tidyverse) library(ggplot2) library(ggforce) penguins <- penguins %>% drop_na() p <- penguins %>% ggplot(aes(x = bill_length_mm, y = flipper_length_mm))+ geom_mark_ellipse(aes(fill = species), colour = NA, # 关键:关闭边框 expand = unit(0.5,"mm"), show.legend = F)+ geom_point(aes(color = species)) print(p)
方法2:保留colour映射但强制覆盖为无轮廓
如果需要保留aes中的colour映射(比如后续复用),可以直接用外层参数colour = NA覆盖映射效果:
geom_mark_ellipse(aes(colour=species, fill = species), colour = NA, # 强制取消轮廓 expand = unit(0.5,"mm"), show.legend = F)
额外提示
如果担心填充椭圆遮挡下方散点,可添加alpha参数调整填充透明度:
geom_mark_ellipse(aes(fill = species), colour = NA, alpha = 0.3, # 设置半透明填充 expand = unit(0.5,"mm"), show.legend = F)
内容的提问来源于stack exchange,提问作者Wasim Aftab
相关产品推荐
相关产品推荐

