如何在R语言shapviz的beeswarm图中提高散点透明度?
调整shapviz beeswarm图散点透明度的两种方法
方法1:直接在sv_importance中传递alpha参数
sv_importance函数的...参数会将额外参数传递给底层绘制蜂群图的ggbeeswarm::geom_quasirandom函数,而alpha是该函数支持的透明度控制参数(取值范围0-1,值越小越透明)。直接在调用时添加即可:
sv_importance(shp1, kind = "beeswarm", alpha = 0.3)
根据数据点数量调整alpha值:数据点密集时可用0.1-0.3,稀疏时可用0.5-0.7
方法2:生成绘图对象后修改图层属性
如果需要更灵活的调整,可以先将绘图对象保存为变量,再修改对应图层的透明度参数:
# 生成基础蜂群图对象 p <- sv_importance(shp1, kind = "beeswarm") # 修改第一个图层(蜂群散点层)的透明度 p$layers[[1]]$aes_params$alpha <- 0.3 # 输出调整后的图 print(p)
或者用ggplot的图层叠加方式(适合同时修改其他属性的场景):
p <- sv_importance(shp1, kind = "beeswarm") p + ggbeeswarm::geom_quasirandom(alpha = 0.3, inherit.aes = FALSE, data = p$data)
内容的提问来源于stack exchange,提问作者kris
相关产品推荐
相关产品推荐

