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

ggplot2绘图报错:object 'mass (gm)' not found 求助

ggplot2绘图报错:object 'mass (gm)' not found的修复方案

问题背景

此前绘制MgNo的代码可正常运行:

MgNo_plot <- ggplot() +
  geom_point(data = MgNo_liq, aes(x = `T (C)`, y = MgNo), colour = "red") +
  geom_point(data = MgNo_Olv, aes(x = `T (C)`, y = MgNo), colour = "green") +
  geom_point(data = MgNo_Spn, aes(x = `T (C)`, y = MgNo), colour = "black") +
  geom_point(data = MgNo_Cpx, aes(x = `T (C)`, y = MgNo), colour = "purple")
print(MgNo_plot)

复制上述代码并修改绘图名称与y变量为mass (gm)后,运行出现报错:

Error in FUN(X[[i]], ...) : object 'mass (gm)' not found

经核对各数据框列名:MgNo_liq的对应列名为liq mass (gm),其余数据框(MgNo_Olv、MgNo_Spn、MgNo_Cpx)的列名为mass (gm),拼写与大小写均无误。

简单修复方案

方案1:单独指定MgNo_liq的y列名

直接在对应geom_point的aes中,为MgNo_liq指定正确的列名liq mass (gm),其余部分保持不变:

mass_plot <- ggplot() +
  geom_point(data = MgNo_liq, aes(x = `T (C)`, y = `liq mass (gm)`), colour = "red") +
  geom_point(data = MgNo_Olv, aes(x = `T (C)`, y = `mass (gm)`), colour = "green") +
  geom_point(data = MgNo_Spn, aes(x = `T (C)`, y = `mass (gm)`), colour = "black") +
  geom_point(data = MgNo_Cpx, aes(x = `T (C)`, y = `mass (gm)`), colour = "purple")
print(mass_plot)

方案2:临时重命名MgNo_liq的列(不修改原数据)

若希望保持所有geom_point的aes参数一致,可使用dplyr::rename临时将MgNo_liq的liq mass (gm)列重命名为mass (gm),无需修改原始数据框:

library(dplyr)
mass_plot <- ggplot() +
  geom_point(data = MgNo_liq %>% rename(`mass (gm)` = `liq mass (gm)`), aes(x = `T (C)`, y = `mass (gm)`), colour = "red") +
  geom_point(data = MgNo_Olv, aes(x = `T (C)`, y = `mass (gm)`), colour = "green") +
  geom_point(data = MgNo_Spn, aes(x = `T (C)`, y = `mass (gm)`), colour = "black") +
  geom_point(data = MgNo_Cpx, aes(x = `T (C)`, y = `mass (gm)`), colour = "purple")
print(mass_plot)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 08:24:17