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

如何用R读取多列CSV绘制独立叠加色谱图(mL与mAU对应)

解决R绘制4组叠加色谱图的问题

第一步:确认CSV数据格式

你的CSV包含8列(4组mL和mAU),建议给列名命名为清晰的分组格式,比如:
mL_1, mAU_1, mL_2, mAU_2, mL_3, mAU_3, mL_4, mAU_4
这样能明确区分每组的x轴(mL)和y轴(mAU)数据,避免后续读取混淆。

第二步:读取并整理数据

方法1:使用tidyverse(推荐,更易维护)

先加载tidyverse包,它包含数据处理和绘图的工具:

install.packages("tidyverse") # 首次使用需安装
library(tidyverse)

# 读取CSV文件
chrom_data <- read.csv("你的色谱数据.csv", header = TRUE)

# 将宽格式数据转为长格式,方便分组绘图
tidy_data <- chrom_data %>%
  pivot_longer(
    cols = everything(),
    names_to = c("variable", "group"),
    names_sep = "_",
    values_to = "value"
  ) %>%
  pivot_wider(names_from = variable, values_from = value) %>%
  drop_na() # 移除可能的缺失值

方法2:基础R读取(无需额外包)

chrom_data <- read.csv("你的色谱数据.csv", header = TRUE)

第三步:绘制叠加色谱图

方法1:ggplot2绘图(美观且灵活)

ggplot(tidy_data, aes(x = mL, y = mAU, color = group)) +
  geom_line(linewidth = 1) + # 绘制曲线,可调整线宽
  labs(
    x = "体积 (mL)",
    y = "吸光度 (mAU)",
    title = "4组叠加色谱图",
    color = "组别"
  ) +
  theme_bw() + # 使用简洁的白色背景主题
  theme(
    plot.title = element_text(hjust = 0.5), # 标题居中
    legend.position = "top" # 图例放在顶部,避免遮挡曲线
  )

方法2:基础R绘图(快速简单)

# 先绘制第一组曲线,设置坐标轴和标题
plot(chrom_data$mL_1, chrom_data$mAU_1, type = "l", col = "red",
     xlab = "体积 (mL)", ylab = "吸光度 (mAU)", main = "4组叠加色谱图")

# 依次添加其他组的曲线
lines(chrom_data$mL_2, chrom_data$mAU_2, col = "blue")
lines(chrom_data$mL_3, chrom_data$mAU_3, col = "green")
lines(chrom_data$mL_4, chrom_data$mAU_4, col = "purple")

# 添加图例
legend("topright", legend = c("组1", "组2", "组3", "组4"),
       col = c("red", "blue", "green", "purple"), lty = 1)

错误原因说明

你之前的代码把mL值绘制成曲线,大概率是因为没有明确区分x轴和y轴数据——要么误将mL列当作y轴变量,要么用了默认的行号作为x轴。通过明确指定每组的x=mL和y=mAU,并按组别分组绘图,就能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:03:11