rcharts: nPlot Форматирование оси X с датами

У меня есть 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)

Я хочу построить data.frame с помощью rCharts nPlot:

  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 отформатирована неправильно.

nPlot с неправильной осью X

Итак, как мне правильно отформатировать даты?


person JerryWho    schedule 21.06.2014    source источник


Ответы (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
person JerryWho    schedule 21.06.2014

%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
person hd1    schedule 21.06.2014
comment
Ах, я пропустил это. Но это не решает проблему. Год все равно неправильный! Я все еще получаю 1970-01-01 для всех дат. - person JerryWho; 21.06.2014
comment
попробуйте изменить регистр на %y? - person hd1; 21.06.2014
comment
Нет, тогда я получаю 70-01-01. Значит, должно быть что-то не так либо с типом df$date, либо с функцией в tichFormat... - person JerryWho; 21.06.2014
comment
Как в stackoverflow.com/questions/19459687/ d в миллисекундах, поэтому должно быть function(d) {return d3.time.format('%Y-%m-%d')(new Date(d*1000));}, но вывод по-прежнему не в порядке. - person JerryWho; 22.06.2014