rcharts nPlot не распознает квартальные значения по оси X

Все еще новичок в использовании rCharts и R, поэтому, пожалуйста, извините меня, если вопрос звучит очень глупо!

Я пытаюсь построить диаграмму временных рядов, используя метки Quarter вдоль оси x, простой пример:

quarters <- c("Q413","Q313","Q213","Q13")
values <- c("120","40","60","80")
testing = data.frame(quarters,values)
tfrPlot <- nPlot(x="quarter", y="values", data = testing, type = "lineChart")

Но это не строит график, а вместо этого генерирует значение от -1 до 1 по оси x. Я убедился, что четверти тоже были факторами, поэтому я не знаю, как действовать дальше.


person Sidharth    schedule 01.05.2014    source источник


Ответы (1)


Ошибка в первую очередь вызвана опечаткой x="quarter, которая должна быть x=quarters, но даже при этом у нас будут ошибки. nvd3 с lineChart ожидает, что y будет числовым или непрерывным, поэтому также потребуется values<-as.numeric(c("120","40","60","80")). И последнее: преобразование даты из R в Javascript в rCharts все еще не оптимально. Один из способов заставить его работать — передать дату в числовом виде, а затем указать nvd3, как с ней обращаться. Вот пример:

quarters <- as.Date(c("2013-03-31", "2013-06-30", "2013-09-30", "2013-12-31"))
values <- as.numeric(c("120","40","60","80"))
testing = data.frame(quarters,values)
tfrPlot <- nPlot(x="quarters", y="values", data = testing, type = "lineChart")
tfrPlot$xAxis(
  tickFormat = 
    "#! function(d) {
        return d3.time.format('%b %Y')(new Date(d * 24 * 60 * 60 * 1000))
    } !#"
)
tfrPlot

Вы, вероятно, согласитесь, что это более болезненно, чем должно быть, и мы работаем над гораздо лучшим способом справиться с этим.

person timelyportfolio    schedule 01.05.2014