You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求识别该细菌分离株与β-内酰胺酶基因关联图名称及R复现方法

图表名称及R语言复现方法

图表名称

你要复现的是存在-缺失热图(Presence-Absence Heatmap),属于热图的一类,核心用来展示不同样本(按细菌种类分组的患者分离株)中目标基因(β-内酰胺酶基因)的存在或缺失状态,通常用颜色差异直观区分基因的有无。

R语言复现步骤

1. 准备工具包

先安装并加载常用的绘图与数据处理包:

# 安装包(首次运行时执行)
install.packages(c("ggplot2", "dplyr", "tidyr", "pheatmap"))

# 加载包
library(ggplot2)
library(dplyr)
library(tidyr)
library(pheatmap)

2. 构造示例数据

模拟符合需求的存在-缺失数据集(实际使用时替换为你的真实实验数据):

# 宽格式数据:行=菌株(按细菌种类标注),列=基因,值=1(存在)/0(缺失)
sample_data <- data.frame(
  菌株 = c("大肠杆菌-株1", "大肠杆菌-株2", "肺炎克雷伯-株1", "肺炎克雷伯-株2", "鲍曼不动杆菌-株1"),
  blaCTX = c(1, 1, 0, 1, 0),
  blaTEM = c(1, 0, 1, 1, 1),
  blaSHV = c(0, 1, 1, 0, 0),
  blaOXA = c(0, 0, 0, 1, 1)
)

3. 用ggplot2绘制热图(适合自定义排版)

先将宽格式数据转换为长格式,再绘图:

# 转换为长格式
long_data <- sample_data %>%
  pivot_longer(cols = -菌株, names_to = "β-内酰胺酶基因", values_to = "存在状态")

# 绘制热图
ggplot(long_data, aes(x = 菌株, y = `β-内酰胺酶基因`, fill = factor(存在状态))) +
  geom_tile(color = "white", size = 1) + # 色块添加白色边框
  scale_fill_manual(values = c("0" = "#f0f0f0", "1" = "#2c3e50"), 
                    labels = c("缺失", "存在")) +
  labs(fill = "基因状态") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # X轴标签倾斜,避免重叠

4. 用pheatmap绘制热图(适合带聚类的专业热图)

直接使用宽格式数据,可添加行/列聚类功能:

# 提取数值矩阵(去掉菌株列)
heat_matrix <- as.matrix(sample_data[, -1])
rownames(heat_matrix) <- sample_data$菌株

# 绘制带聚类的热图
pheatmap(heat_matrix,
         color = c("#f0f0f0", "#2c3e50"),
         labels_row = rownames(heat_matrix),
         main = "菌株-β内酰胺酶基因存在缺失热图",
         legend_labels = c("缺失", "存在"),
         cluster_rows = TRUE, # 开启菌株聚类
         cluster_cols = TRUE) # 开启基因聚类

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:23:17