我有一个包含日期和整数的data.frame:
df <- data.frame(date=seq.Date(from=as.Date("2012/01/01"), to=as.Date("2012/02/28"), by="1 day"), y=1:59)
我想用rCharts nPlot绘制data.frame:
n <- nPlot(y ~ date, group = "team", data = df, type = "lineChart")
n$xAxis(
tickFormat = "#!
function(d) {return d3.time.format('%Y-%M-%d')(new Date(d));}
!#",
rotateLabels = -90
)
n
但x轴格式不正确。
那么如何正确格式化日期呢?
答案 0 :(得分:2)
在R as.numeric(someDate)中起源于天。这里我们需要距离原点毫秒。 所以它应该是
df <- data.frame(date=seq.Date(from=as.Date("2012/01/01", origin="1970-01-01"), to=as.Date("2012/02/28", origin="1970-01-01"), by="1 day"), y=1:59)
n <- nPlot(y ~ date, group = "team", data = df, type = "lineChart")
n$xAxis(
tickFormat = "#!
function(d) {return d3.time.format('%Y-%m-%d')(new Date(d*1000*3600*24));}
!#",
rotateLabels = -90
)
n
答案 1 :(得分:0)
%M是分钟,你想要的是%m
,这会让你有几个月的时间:
n <- nPlot(y ~ date, group = "team", data = df, type = "lineChart")
n$xAxis(
tickFormat = "#!
function(d) {return d3.time.format('%Y-%m-%d')(new Date(d));}
!#",
rotateLabels = -90
)
n