求助:如何使用ggplot2移除geom_tile热图中的白色线条?
解决ggplot2 geom_tile热图瓦片间白色线条问题
嘿,我之前也碰到过这个烦人的小问题!geom_tile里的白色缝隙通常是绘图渲染细节或者参数设置的锅,下面给你几个亲测有效的解决方案,你可以挨个试试:
调整线条宽度参数:geom_tile默认可能带有极细的边框,新版本ggplot2(3.4.0及以上)用
linewidth = 0来彻底去掉边框;如果是旧版本,就换成size = 0。示例代码:ggplot(your_data, aes(x = x_col, y = y_col)) + geom_tile(aes(fill = value_col), linewidth = 0)将边框色设为透明或与填充色一致:有时候即使线条宽度设为0,渲染时还是会有细微缝隙,这时候可以把
color参数设为NA(透明),或者直接和填充色绑定。比如:ggplot(your_data, aes(x = x_col, y = y_col)) + geom_tile(aes(fill = value_col), color = NA)改用geom_raster图层:geom_raster是专门为瓦片热图设计的更高效图层,默认就不会有缝隙,渲染速度也更快,语法和geom_tile几乎一致:
ggplot(your_data, aes(x = x_col, y = y_col)) + geom_raster(aes(fill = value_col))检查数据与导出设置:如果上面的方法都没用,可能是数据的x/y轴变量有细微间隔(比如连续型数据精度问题),可以尝试把离散变量转成factor;另外导出图片时,尽量用矢量格式(如PDF),或者用
ggsave()设置更高的dpi,避免位图渲染带来的缝隙。
内容的提问来源于stack exchange,提问作者Jeffy
相关产品推荐
相关产品推荐

