【发布时间】:2020-04-21 21:15:57
【问题描述】:
我正在尝试绘制这个风速数据,x 轴上显示年份。数据框设置为
wsAvg<-data.frame(date=as.POSIXct(ws07$date[1224:1559]),u.1=(ws07$u[1224:1559]),stringsAsFactors = FALSE)
wsAvg<-rbind(wsAvg,c(date=as.POSIXct(ws08$date[1032:1367]),(ws08$u[1032:1367])))
下面使用 ggplot 绘制我的风速数据框。
ggplot(wsAvg,aes(x=date,y=as.numeric(u.1)))+geom_point(size=3,pch=2)+
geom_smooth(method="lm",colour="black",se=FALSE)+
#scale_x_datetime(limits=as.POSIXct(c('2006-09-01','2016-10-01')),breaks=date_breaks("1 year"),labels=date_format("%Y"))+
如果我的命令中没有 scale_x_datetime(),我会得到这些日期。当我添加 scale_x_datetime() 函数以手动缩放我的 x 轴以仅显示年份时。我所有的数据都排到 2007 年。有人知道这是为什么吗?
【问题讨论】:
-
对我来说看起来是正确的,我们没有你的数据,但你的第一个情节只显示了两个月,而你的第二个情节显示了很多年。我认为这些功能工作正常。你期待什么?
-
@J_F 为简单起见,我没有粘贴整个数据集。两个地块的 2006-2016 年数据量相同。第一个图上的轴标签来自 ggplot 的默认值,不是我要找的
-
你能给我们一个你的数据集的例子吗,例如一年一分?
-
@J_F 每个数据由一年中不同时间戳的 14 个点组成。因此,在创建 wsAvg 数据框的前两行之后,我还有 8 行代码,每一行都类似于 2009 年到 2016 年的第二行
rbind()。 -
请提供一个可重现的示例,其中包含足够的示例数据来说明问题。