多次调用geom_tile为何错位?ggplot2技术问询
问题原因
- 第二次调用
geom_tile时,没有显式指定width和height参数,ggplot2会自动根据当前传入数据的x、y轴范围计算tile的默认尺寸。 - 原数据的x范围是0-2,y范围是0-3,而你传入的子集数据x仅为2,y仅为1和3,此时ggplot计算出的tile尺寸会远大于原图层的tile,叠加后就出现了偏移和尺寸不符的问题。
解决方法
在第二次geom_tile中显式指定width和height,和原图层的tile尺寸保持一致(因为你的x、y都是整数间隔,所以设为1即可):
gg + geom_tile(data = df[c(6, 12),], width = 1, height = 1)
补充说明
如果你的x、y不是整数间隔,需要根据原数据的轴刻度间隔来设置对应的width和height,确保两层tile的尺寸和位置完全对齐。
内容的提问来源于stack exchange,提问作者r2evans
相关产品推荐
相关产品推荐

