R语言绘图无数据点显示问题求助:附代码与数据格式
问题分析与解决方案
我一眼就发现两个核心问题导致你的数据点无法显示,咱们一步步来修正:
1. 坐标轴顺序与范围完全不匹配
你写的plot(mydatainR$E.Coli,mydatainR$Time, ...)把x轴设成了E.Coli数值,y轴设成了年份Time,但紧接着又设置了xlim=c(2012,2018)(年份范围)和ylim=c(0.000,0.05)(极小的数值范围)——这完全和实际数据的数值逻辑颠倒了:
- E.Coli的数值是12、10、68这类整数,根本不在2012-2018这个区间,所以所有点都被xlim过滤掉了
- Time是2012-2018的年份,远大于0.05,即使x轴设置正确,y轴也会把点排除在可视范围外
2. 修正后的代码
首先调整坐标轴顺序(遵循plot(x=横轴数据, y=纵轴数据)的语法),然后根据实际数据设置合理的轴范围:
# 先查看E.Coli的实际数值范围(自动跳过NA) range(mydatainR$E.Coli, na.rm = TRUE) # 修正后的绘图代码 plot(mydatainR$Time, mydatainR$E.Coli, xlab = "Time", ylab = "E.Coli", main = "Total Phosphorus and E.Coli Values", col.main = "blue", col.lab = "green", xlim = c(2012, 2018), # 根据你的数据,E.Coli最大值是144,所以设置0到150的纵轴范围足够 ylim = c(0, 150), # 可选:设置点的样式更醒目 pch = 16, col = "darkred")
额外提示:处理缺失值
你的数据里存在NA(比如第3行),plot函数默认会自动跳过这些缺失值,但如果你想更严谨,可以提前清理数据:
clean_data <- na.omit(mydatainR) plot(clean_data$Time, clean_data$E.Coli, ...) # 后续参数同上
内容的提问来源于stack exchange,提问作者Brittany Taylor
相关产品推荐
相关产品推荐

