R ggplot2绘图时geom_point散点消失的原因是什么?
散点消失的根本原因
散点完全看不到是geom_point()层的参数设置导致的视觉隐形,不是数据映射或代码语法报错:
- 你给散点设置了
alpha = 0.1,也就是仅10%的不透明度,本身透明度极高 - 同时选择了
shape = 1,这是无填充的空心圆形,只有细轮廓线、没有实心填充区域,在10%透明度下,轮廓线的颜色和白色背景对比度极低,肉眼完全无法识别,看起来就像散点彻底消失了。
注意:代码末尾
guides()里的override.aes = list(alpha = 0.5)只修改图例里的点透明度,不会改变绘图区域实际散点的透明度参数,所以不会让图上的点变清晰。
修复方案
调整任意一个相关参数就能让散点正常显示:
- 提高散点的alpha值,比如改成
alpha = 0.7 - 换成带实心填充的点形状,比如
shape = 16(实心圆) - 如果要保留空心点+低透明度的设计,可以加大点的尺寸、加
stroke = 2参数调粗轮廓线,提高辨识度
修改后可正常显示散点的代码示例:
# 方案1:提高透明度,保留空心点样式 geom_point(aes(color = "Temperature"), size = 2, shape = 1, alpha = 0.7)
# 方案2:保留0.1低透明度,换实心点样式 geom_point(aes(color = "Temperature"), size = 2, shape = 16, alpha = 0.1)
内容的提问来源于stack exchange,提问作者Ed_Gravy
相关产品推荐
相关产品推荐

