0

我在 R 中有如下数据:

   bag_id location_type            event_ts
1     155      transfer 2012-01-02 15:57:54
2     155        sorter 2012-01-02 17:06:05
3     305       arrival 2012-01-01 07:20:16
4     692       arrival 2012-03-29 09:47:52
10    748      transfer 2012-01-08 17:26:02
11    748        sorter 2012-01-08 17:30:02
12    993       arrival 2012-01-23 08:58:54
13   1019       arrival 2012-01-09 07:17:02
14   1019        sorter 2012-01-09 07:33:15
15   1154      transfer 2012-01-12 21:07:50

其中类(event_ts)是“POSIXct”。

我想在不同时间找到每个位置的袋子密度。所以,我使用了如下的函数密度:

    adj<-.00001
    dSorter<-density(as.numeric(Data$event_ts[which(Data$location_type=="sorter")]),n=length(Data$event_ts[which(Data$location_type=="sorter")]),adjust = adj) 
    StartTime<-as.POSIXct(strptime("2012-06-01", "%Y-%m-%d"), tz="UTC") # want to zoom & see part of data
    EndTime<-as.POSIXct(strptime("2012-06-3", "%Y-%m-%d"), tz="UTC")
    Range<-range(as.numeric(c(StartTime,EndTime)))
    lablist.x<-substr(seq(StartTime,EndTime,by="hour"),start=6, stop=13) # want to have time labels for my plot
    plot(dSorter, main="Sorter",xlim=Range, xaxt = "n")
    axis(1, at=as.numeric(seq(StartTime,EndTime,by="hour")), labels =F)
text(1:49,par("usr")[3] - 0.25, labels=lablist.x,srt = 45,adj=1, , xpd = TRUE) #want to rotate the labels

最后一条评论不起作用,我不知道如何识别函数“text”处的“x”值。

提前感谢您的任何评论和指导。

最好的,志摩。

4

1 回答 1

0

问题解决了,我找到了必须在函数“ text ”中使用的坐标,命令为:par("usr") 并将代码的最后一行更改如下:

text(c(as.numeric(seq(StartTime,EndTime,by="hour"))),par("usr")[3]-(par("usr")[4]-par("usr")[3])/20,  labels=lablist.x,srt = 45,adj=1,  xpd = TRUE)
于 2013-08-10T12:40:02.603 回答