如何去除geom_tile中瓦片间空白并调整瓦片尺寸与样式
解决代码
library(reshape2) library(ggplot2) # 数据预处理逻辑保持不变 df <- melt(df, id.vars="id") p <- ggplot(df, aes(x=variable, y=id, fill=as.factor(value))) + # 调整瓦片参数:删除边框白色设置、统一宽高控制尺寸、拉高透明度避免背景透出 geom_tile(width=0.3, height=0.3, alpha=0.8) + # 强制坐标轴等比例,保证瓦片为正方形 coord_equal() + # 给填充色命名,避免因子水平顺序不匹配导致的颜色错位 scale_fill_manual(values=c("1"="yellow", "2"="orange", "3"="red", "4"="green", "5"="grey")) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) + labs(x = "Value", y="id") + scale_x_discrete(expand=c(0,0))+ scale_y_discrete(expand=c(0,0)) p
修改点说明
- 去除瓦片中间白线:
- 删除
geom_tile中的colour="white"参数,默认无瓦片边框,直接消除边框白线 - 将
alpha从0.2调整为0.8,避免透明度过高导致背景网格线透上来被误认为是瓦片自带白线
- 删除
- 实现更小的正方形瓦片:
- 给
geom_tile同时设置数值相同的width和height参数,可根据需求调整数值,数值越小瓦片尺寸越小 - 新增
coord_equal()语句,强制x轴和y轴单位长度一致,无论怎么调整宽高参数,瓦片都会保持正方形形态
- 给
内容的提问来源于stack exchange,提问作者YASEM
相关产品推荐
相关产品推荐

