使用POSIXct x变量

时间:2018-10-07 21:31:42

标签: r ggplot2 facet posixct

我有一系列相关的图形,但我想将它们表示为小平面,但是即使两个小平面的实际x值相同,x轴值也不会对齐。

作为2个方面,R产生此结果:

X values unaligned

当我使用相同的代码并单独使用仅具有一个nodenum的数据帧时,每个图都按预期的方式显示,并且x轴范围相同

One facet alone

Second facet alone

如果我使用scales =“ free_x”,则这两个构面看起来都不错,但是它们的X轴标记不同(偏移了12小时)

facets properly aligned but x axes reflect improper 12-hour offsets

这是所有图形的R代码。前三个示例之间的唯一区别是对数据帧进行了子集设置,以包括两个或仅一个用于选择构面的nodenum值。最后一个使用注释掉的scales =“ free_x参数

nn00$pikaday <- "2018-09-12"  # One explicit date
 nn01<-subset(nn00,nn00$Day_LOC == pikaday )
# Using or omitting tz= in the next line has no effect on graphs
ToD<-as.POSIXct(nn01$Xint_UTC,tz=Local_TZ)  # Time-Of Day
g3<-ggplot(nn01,aes(ToD)) + geom_point(aes(y=v.temp.m04),color="blue") +
  labs(y="Temps")
# g3 + facet_wrap(~ nodenum,nrow=2,scales="free_x") +
 g3 + facet_wrap(~ nodenum,nrow=2) +
  scale_x_datetime(breaks = date_breaks("6 hours"),
                   labels = date_format("%H:%M")) +
  theme(panel.background =element_rect(fill="white"))

如何让所有方面都重复相同的基本范围和格式?

这里的头和尾值似乎并不明显。

> head(nn01[,c(55,5,3,16)])
     nodenum    Day_LOC            Xint_LOC v.temp.m04
5148     08D 2018-09-11 2018-09-11 19:00:00      25.10
5150     04D 2018-09-11 2018-09-11 19:00:00      25.30
5203     08D 2018-09-11 2018-09-11 19:30:00      24.80
5205     04D 2018-09-11 2018-09-11 19:30:00      25.29
5258     08D 2018-09-11 2018-09-11 20:00:00      24.30
5260     04D 2018-09-11 2018-09-11 20:00:00      24.90
> tail(nn01[,c(55,5,3,16)])
     nodenum    Day_LOC            Xint_LOC v.temp.m04
7613     08D 2018-09-12 2018-09-12 17:30:00      28.60
7615     04D 2018-09-12 2018-09-12 17:30:00      27.00
7663     08D 2018-09-12 2018-09-12 18:00:00      27.50
7665     04D 2018-09-12 2018-09-12 18:00:00      27.40
7712     08D 2018-09-12 2018-09-12 18:30:00      27.70
7714     04D 2018-09-12 2018-09-12 18:30:00      26.61

0 个答案:

没有答案