news 2026/4/28 6:54:26

R语言画分组柱状图(可以批量)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
R语言画分组柱状图(可以批量)

本文分享一套可直接运行的 R 语言批量绘图脚本,适用于基因表达量分析,自动为每个基因生成带误差棒、原始散点、t 检验 P 值的专业柱形图,一键批量出图,无需手动调整。

散点+柱状图+差异检验(标注P值)+科学配色

脚本完整保留原始代码,无任何修改,直接复制即可使用

# 设置工作路径 setwd("F:/画图") getwd() # 加载包 library(ggplot2) library(dplyr) library(tidyr) # ===================== 1. 读取数据 ===================== df <- read.table( "gene.txt", header = FALSE,sep = "\t", stringsAsFactors = FALSE) # ===================== 批量循环画图 ===================== all_genes <- df[, 1] for (i in 1:nrow(df)) { gene_now <- all_genes[i] dat <- df[i, ] # 提取各组表达量 d3_ctrl <- as.numeric(dat[1, 2:4]) d3_cys <- as.numeric(dat[1, 5:7]) d7_ctrl <- as.numeric(dat[1, 8:10]) d7_cys <- as.numeric(dat[1, 11:13]) d12_ctrl <- as.numeric(dat[1, 14:16]) d12_cys <- as.numeric(dat[1, 17:19]) # 统计检验 p3 <- t.test(d3_ctrl, d3_cys)$p.value p7 <- t.test(d7_ctrl, d7_cys)$p.value p12 <- t.test(d12_ctrl, d12_cys)$p.value # 构建均值±SD数据 plot_data <- data.frame( Time = c("D3","D3","D7","D7","D12","D12"), Treat = rep(c("Control","+Cys"), 3), Mean = c(mean(d3_ctrl), mean(d3_cys), mean(d7_ctrl), mean(d7_cys), mean(d12_ctrl), mean(d12_cys)), SD = c(sd(d3_ctrl), sd(d3_cys), sd(d7_ctrl), sd(d7_cys), sd(d12_ctrl), sd(d12_cys)) ) # 构建原始散点数据 point_data <- data.frame( Time = rep(c("D3","D3","D7","D7","D12","D12"), each=3), Treat = rep(c("Control","+Cys"), each=3, 3), Value = c(d3_ctrl, d3_cys, d7_ctrl, d7_cys, d12_ctrl, d12_cys) ) # 固定顺序 plot_data$Time <- factor(plot_data$Time, levels = c("D3","D7","D12")) plot_data$Treat <- factor(plot_data$Treat, levels = c("Control","+Cys")) point_data$Time <- factor(point_data$Time, levels = c("D3","D7","D12")) point_data$Treat <- factor(point_data$Treat, levels = c("Control","+Cys")) # P值标签(斜体P) p_text <- data.frame( Time = c("D3","D7","D12"), y = max(plot_data$Mean + plot_data$SD) * 1.25, label = c( paste0("italic(P) == ", round(p3, 3)), paste0("italic(P) == ", round(p7, 3)), paste0("italic(P) == ", round(p12, 3)) ) ) # 绘图:柱子 + 误差棒 + 原始散点 + P值 p <- ggplot(plot_data, aes(x=Time, y=Mean, fill=Treat)) + geom_col(position=position_dodge(0.8), width=0.7, color="black") + geom_errorbar(aes(ymin=Mean-SD, ymax=Mean+SD), width=0.2, position=position_dodge(0.8), size=0.4) + # 原始真实值散点 geom_point(data=point_data, aes(x=Time, y=Value, group=Treat), position=position_jitterdodge(jitter.width=0.1, dodge.width=0.8), size=1.8, color="black", stroke=0.8) + geom_text(data=p_text, aes(x=Time, y=y, label=label), inherit.aes=FALSE, size=4.5, parse=TRUE) + scale_fill_manual(values=c("#457B9D","#E63946")) + labs(x="Days", y="Expression Level", title=gene_now) + theme_bw(base_size=14) + theme(plot.title=element_text(hjust=0.5), legend.position="top") # 输出PDF ggsave(paste0(gene_now,".pdf"), p, width=6, height=5, device="pdf") cat("已完成:", gene_now, "\n") } cat("========== 画图完成 ==========\n")

出图结果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 6:40:21

EZStation如何添加AOV小球

EZStation如何添加AOV小球 一&#xff0e;功能介绍1.设备需先添加到宇视云app上方可添加到EZStation上2. EZStation需先升级至B1130. 3. 17. 1. L10. 260228方可添加3.AOV相机版本要是最新主线版本二&#xff0e;配置步骤2.1 进入EZStation点击设备管理2.2 点击左侧云端设备&am…

作者头像 李华
网站建设 2026/4/28 6:37:44

Phi-3-mini-4k-instruct-gguf部署教程:低配V100服务器上的显存占用实测优化

Phi-3-mini-4k-instruct-gguf部署教程&#xff1a;低配V100服务器上的显存占用实测优化 1. 模型简介与适用场景 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本&#xff0c;特别适合在资源受限的环境中部署。这个模型在问答、文本改写、摘要整理…

作者头像 李华
网站建设 2026/4/28 6:36:24

Eseye借助SGP.32 eSIM编排技术增强全球物联网连接韧性

所有企业都希望在网络配置方面拥有灵活性&#xff0c;尤其是在联网设备管理上。然而&#xff0c;若缺乏适当的保障机制、自动化手段和编排能力&#xff0c;这种灵活性反而可能带来更高风险。为应对物联网&#xff08;IoT&#xff09;部署中的这一问题&#xff0c;Eseye近日宣布…

作者头像 李华
网站建设 2026/4/28 6:35:24

TM1650数显模块(下载就能用)

Keil5 TM1650.c文件#include "TM1650.h" #include "Delay.h"// (0-9) const uint8_t data_num[10] {0x3f, // 00x06, // 10x5b, // 20x4f, // 30x66, // 40x6d, // 50x7d, // 60x07, // 70x7f, // 80x6f // 9 };// ¢a-f const uint8_t data_alphab…

作者头像 李华
网站建设 2026/4/28 6:35:20

轻量级多模态模型Qwen3.5-2B效果展示:YOLOv8检测结果的智能描述生成

轻量级多模态模型Qwen3.5-2B效果展示&#xff1a;YOLOv8检测结果的智能描述生成 1. 核心能力概览 Qwen3.5-2B作为一款轻量级多模态模型&#xff0c;在视觉-语言理解任务中展现出令人惊喜的表现。当它与YOLOv8这样的高效目标检测模型配合使用时&#xff0c;能够将冰冷的检测框…

作者头像 李华
网站建设 2026/4/28 6:21:55

记事本txt文件里面内容中下划线看不见

这是 Win11 23H2/24H2 记事本的已知渲染 Bug&#xff1a;在默认字体&#xff08;微软雅黑/Consolas&#xff09; 非 100% DPI 缩放&#xff08;常见 125%/150%&#xff09;时&#xff0c;下划线 _ 会被“吃掉”&#xff0c;显示成空白。 快速解决&#xff08;任选其一&#xff…

作者头像 李华