繁体   English   中英

如何使用ggplot2制作散点图?

[英]How to make a scatter plot using ggplot2?

我正在尝试为我拥有的一些甲烷排放数据制作数据与时间图。 到目前为止的代码如下所示:

CH4 <- as.numeric(Aeris_2_Data$CH4)
Aeris_2_Data$Date.Time <- as.POSIXct(Aeris_2_Data$Time_Stamp, tz = "", "%m/%d/%Y %H:%M:%S")

ggplot(Aeris_2_Data, aes(x = Aeris_2_Data$Date.Time, y = as.numeric(CH4)) + geom_point() + labs(x = "Time", y = "CH4 [ppm]") + ggtitle("Methane Over Time")

我的数据如下所示:

head(Aeris_2_Data)和 this: head 的扩展

我正在尝试随着时间的推移映射 CH4,正如您可能从我迄今为止管理的小代码片段中看到的那样。 但我不断收到错误消息:

Error in seq.int(0, to0 - from, by) : 'to' must be a finite number

一切似乎都与我记得并在网上找到的 ggplot 信息相匹配。 出了什么问题? 我的猜测是与时间数据的格式有关,格式为%m/%d/%Y %H:%M:%S并作为字符存储在我从中提取的 csv 文件中。 如何正确格式化以更改它? 提前致谢。

您的代码中有两个错误:

  • 日期格式是"%m/%d/%Y %H:%M"而不是"%m/%d/%Y %H:%M:%S"
  • 一个)aes()之后丢失

另外提到的是你应该更好地使用Date.Time并将CH4作为数字直接转换为 data.frame 的注释

代码应该是:

Aeris_2_Data$CH4 <- as.numeric(Aeris_2_Data$CH4)
Aeris_2_Data$Date.Time <- as.POSIXct(Aeris_2_Data$Time_Stamp, tz = "", "%m/%d/%Y %H:%M")

ggplot(Aeris_2_Data, aes(x = Date.Time, y = as.numeric(CH4))) + geom_point() + labs(x = "Time", y = "CH4 [ppm]") + ggtitle("Methane Over Time")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM