在以下示例中,我使用示例数据构建了一个 data.frame:时间戳和与之关联的值。然后我尝试使用以 polychart 作为后端的 rCharts 绘制这些数据,一次使用原始时间戳,一次将其转换为 intiger:
dtf <- data.frame(timestamp=c("2013-02-01 00:02:16", "2013-02-01 00:02:21", "2013-02-02 05:02:27",
"2013-02-02 10:02:54", "2013-02-02 11:02:14", "2013-03-01 01:02:37",
"2013-03-01 02:02:07", "2013-03-01 02:12:09", "2013-03-01 13:02:30",
"2013-04-04 02:02:33", "2013-04-04 09:02:54", "2013-04-09 10:02:01",
"2013-04-09 21:02:22"),
value=c(12.5, 16.7, 16.7, 16.7, 12.5, 12.6, 16.7, 16.8, 16.7, 16.8,
16.8, 16.7, 16.8),
group=c("B", "A", "A", "A", "B", "A", "A", "A", "A", "A", "A", "A",
"A")
)
dtf$x <- as.double(as.POSIXct(dtf$timestamp))
plt1 <- rPlot(x= 'timestamp',
y='value' ,
data=dtf,
type = 'point',
size=list(const=2))
plt2 <- rPlot(x= 'x',
y='value' ,
data=dtf,
type = 'point',
size=list(const=2))
print(plt1)
print(plt2)
第一个图 (plt1) 如下所示:
第二个如下:
如您所见,日期被截断,因此位于同一日期的数据点具有相同的 X 坐标,而与小时/分钟值无关。两个图上显示的工具提示也被截断。如何使用 polychart 保持小时/分钟分辨率?
编辑
玩过这个之后,我得出一个结论,即 polychart 不能很好地处理高于 10^9 的 X 值。我仍然找不到解决此问题的方法。