我想绘制(在单个图中)由变量" my.data $ V2"组成的两个数据框列。 (y轴)vs date" my.data $ V3" (x轴)是一个字符串。我尝试过使用基本情节和ggplot方法,但我无法使用它。
plot(my.data$V2,my.data$V3,xaxt="n",ylab="Volum") #don't plot the x axis
axis.POSIXct(1, at=seq(my.data$V3[1], my.data$V3[2], by="month"), format="%b") #label the x axis by months
require(ggplot2)
theme_set(theme_bw()) # Change the theme to my preference
ggplot(aes(x = my.data$V3, y = my.data$V2), data = my.data) + geom_point()
Here您可以找到数据集。使用加载文件 负载(" data.Rdata&#34)
解决:使用
plot(strptime(my.data$V3,"%d/%m/%YT%H:%M:%S",tz="GMT"),my.data$V2, xlab="Time", ylab="Volum")
答案 0 :(得分:1)
您的数据集只包含字符串。你需要先转换它们。
> str(my.data)
'data.frame': 17670 obs. of 3 variables:
$ V1: chr "236E01VE" "236E01VE" "236E01VE" "236E01VE" ...
$ V2: chr "2.571" "2.571" "2.571" "2.571" ...
$ V3: chr "13/06/2017T12:55:00" "13/06/2017T13:00:00" "13/06/2017T13:05:00" "13/06/2017T13:10:00" ...
my.data$V2 <- as.numeric(my.data$V2)
my.data$V3 <- as.POSIXct(my.data$V3, format = "%d/%m/%YT%H:%M:%S")
> str(my.data)
'data.frame': 17670 obs. of 3 variables:
$ V1: chr "236E01VE" "236E01VE" "236E01VE" "236E01VE" ...
$ V2: chr "2.571" "2.571" "2.571" "2.571" ...
$ V3: POSIXct, format: "2017-06-13 12:55:00" "2017-06-13 13:00:00" "2017-06-13 13:05:00" "2017-06-13 13:10:00" ...
对于ggplot,您应该在$
内引用名称(不带aes()
运算符)的变量。有关此问题的详细解释,请参阅here:
ggplot(aes(x = V3, y = V2), data = my.data) +
geom_point()