当我使用geom line创建图表时,我会得到此图
这是我的代码
ggplot(Moisture_kurokawa, aes(x = Date))+ geom_line(aes(y = W5, colour = "W5"))+ geom_line(aes(y = W7, colour = "W7"))+ geom_line(aes(y = W9, colour = "W9"))+ geom_line(aes(y = W11, colour = "W11"))
有关如何使其平滑或查看所有数据点的任何帮助吗?
答案 0 :(得分:2)
你应该花一些时间阅读一些ggplot2教程,这样你就可以让它为你做一些工作,特别是如果你做了一些数据重新排列。
你还需要一个合适的日期+时间对象来获得你想要的分辨率。
library(tidyverse)
Moisture_kurokawa <- read_csv("~/Data/Moisture kurokawa.csv")
mutate(Moisture_kurokawa,
timestamp = lubridate::mdy_hms(sprintf("%s %s", Date, Time))) %>%
select(-Date, -Time) %>%
gather(W, value, -timestamp) -> moisture_long
moisture_long
## # A tibble: 17,645 x 3
## timestamp W value
## <dttm> <chr> <dbl>
## 1 2017-06-24 00:00:00 W5 0.333
## 2 2017-06-24 00:30:00 W5 0.333
## 3 2017-06-24 01:00:00 W5 0.334
## 4 2017-06-24 01:30:00 W5 0.334
## 5 2017-06-24 02:00:00 W5 0.334
## 6 2017-06-24 02:30:00 W5 0.334
## 7 2017-06-24 03:00:00 W5 0.335
## 8 2017-06-24 03:30:00 W5 0.335
## 9 2017-06-24 04:00:00 W5 0.335
## 10 2017-06-24 04:30:00 W5 0.335
## # ... with 17,635 more rows
ggplot(moisture_long, aes(timestamp, value, group=W, color=W)) +
geom_line()
您的数据更好,甚至可以:
ggplot(moisture_long, aes(timestamp, value, group=W, color=W)) +
geom_line() +
facet_wrap(~W)
答案 1 :(得分:1)
Moisture_kurokawa <- read.table("Moisture kurokawa.csv", header=T, sep=",")
# Create a datetime object with as.POSIXct
Moisture_kurokawa$DateTime <- as.POSIXct(
paste0(Moisture_kurokawa$Date, Moisture_kurokawa$Time),
format="%m/%d/%Y %H:%M")
library(ggplot2)
ggplot(Moisture_kurokawa, aes(x = DateTime))+
geom_line(aes(y = W5, colour = "W5"))+
geom_line(aes(y = W7, colour = "W7"))+
geom_line(aes(y = W9, colour = "W9"))+
geom_line(aes(y = W11, colour = "W11"))