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

使用ggplot绘制导入数据时轴上出现异常线条的问题

问题:ggplot2绘图时轴上出现异常线条

使用ggplot2绘制pH与叶绿素数据时,图表轴上始终出现异常线条。用R内置绘图工具显示正常,但需使用ggplot2完成绘图。

使用的代码

install.packages("ggplot2")

library(ggplot2)

# 用于分析的基础数据
pH_and_chloro <- read.csv("C:\\Users\\pc\\Downloads\\pH and Chlorophyll Data.csv")

ggplot(pH_and_chloro, aes(Date, Water.Works.Park.pH))+
  geom_jitter(size=1, color="orange", width=0.3) 

补充信息

编辑1

执行代码str(pH_and_chloro[[c("Date", "Water.Works.Park.pH")]])时,报错:

Error in .subset2(x, i, exact = exact) : subscript out of bounds.

编辑2

数据集的dput输出(省略部分数据):

structure(list(Date = c("Date", "4/1/2022", "4/2/2022", ...), Water.Works.Park.pH = c("pH", "7.871567944", ...), Water.Work.Parks.Chlorophyll = c("Chlorophyll", "1.266202091", ...)), class = "data.frame", row.names = c(NA,-469L))

解决方案

从dput输出可见,数据集把表头当成了第一行数据,导致Date列为字符型(包含"Date"字符串),pH列也为字符型(包含"pH"字符串),这就是ggplot2绘图出现异常线条的核心原因。解决步骤如下:

  • 重新读取数据,跳过错误的首行:
pH_and_chloro <- read.csv("C:\\Users\\pc\\Downloads\\pH and Chlorophyll Data.csv", skip = 1)
  • 转换数据类型:将Date列转为日期型,pH和叶绿素列转为数值型:
# 转换Date列
pH_and_chloro$Date <- as.Date(pH_and_chloro$Date, format = "%m/%d/%Y")
# 转换数值列
pH_and_chloro$Water.Works.Park.pH <- as.numeric(pH_and_chloro$Water.Works.Park.pH)
pH_and_chloro$Water.Work.Parks.Chlorophyll <- as.numeric(pH_and_chloro$Water.Work.Parks.Chlorophyll)
  • 重新执行绘图代码:
ggplot(pH_and_chloro, aes(Date, Water.Works.Park.pH))+
  geom_jitter(size=1, color="orange", width=0.3)

另外,编辑1中的报错是因为选取多列的写法错误,正确写法应为:

str(pH_and_chloro[, c("Date", "Water.Works.Park.pH")])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 14:20:52