基于三要素在R语言中绘制指定样式热力图的技术求助
实现方案
可以使用ggplot2包来生成你需要的热力图,以下是完整的代码和说明:
1. 加载依赖包
首先确保安装并加载ggplot2:
install.packages("ggplot2") # 首次使用需安装 library(ggplot2)
2. 绘制热力图
直接运行以下代码即可生成匹配需求的热力图:
ggplot(df, aes(x = Predictor, y = factor(Method))) + # 绘制热力单元格,添加白色边框区分 geom_tile(aes(fill = factor(Importance)), color = "white", size = 1) + # 按Taxa分面,设置为两列布局 facet_wrap(~ Taxa, ncol = 2) + # 手动指定对应Importance的颜色(匹配目标图的深浅灰色) scale_fill_manual(values = c("1" = "#e8e8e8", "2" = "#4a4a4a")) + # 设置轴标签和图例标题 labs(x = "Predictor", y = "Method", fill = "Importance") + # 使用简洁主题并调整样式 theme_minimal() + theme( panel.grid = element_blank(), # 去掉网格线 axis.text = element_text(size = 10), axis.title = element_text(size = 12), strip.text = element_text(size = 12, face = "bold"), # 分面标题加粗 legend.position = "bottom" # 图例放在底部 )
代码说明
factor(Method):将Method转为因子类型,保证y轴按1、2的顺序显示geom_tile:核心的热力图绘制函数,color="white"添加单元格边框,增强区分度facet_wrap:实现按Taxa分组的子图布局,和目标图的双列结构一致scale_fill_manual:自定义颜色映射,你可以根据需求调整values里的色值,匹配目标图的视觉效果
内容的提问来源于stack exchange,提问作者Rinot
相关产品推荐
相关产品推荐

