Строки как значения тиков для линейного графика rCharts NVD3

Я пытаюсь использовать отображение категориальных уровней по оси x моей линейной диаграммы. Скажем, у меня есть фрейм данных

mydata <- data.frame(time = c("10am", "12pm", "3pm"), month = c("JAN", "JUL", "DEC"), value = 3:5)

и я хочу построить value ~ time или value ~ month. Я мог бы сначала создать переменную, которая помещает время в линейную шкалу, например.

mydata$time_linear <- 1:3

тогда попробуй нарисуй

library(rCharts)
p <- nPlot(value ~ time_linear, data = mydata, type = "lineChart")
p$chart(useInteractiveGuideline = TRUE)
p

но я не знаю, как заставить ярлыки.

Я просмотрел Как установить ось nvd3 для использования строк вместо числовых значений? и линейная диаграмма nvd3 со строковыми значениями по оси X, но я не уверен, как это работает в контексте rCharts. Кажется, что одним из способов было бы определить массив в javascript с именами меток и соответствующим индексом, а другим было бы определить функцию с кучей операторов if/else. Первый метод кажется более элегантным, но я не знаю, как создать массив в правильной области, а второй будет включать неприятную длинную анонимную функцию в tickFormat

Как лучше всего это сделать?


person kevinykuo    schedule 04.08.2014    source источник
comment
Что, если вы определите mydata$month как даты, а затем добавите p$xAxis(tickFormat="#!function(d) {return d3.time.format('%b')(new Date( d * 86400000 ));}!#")? (через)   -  person lukeA    schedule 04.08.2014
comment
@lukeA спасибо за совет! Это может просто работать для моих целей. Проверит это.   -  person kevinykuo    schedule 04.08.2014
comment
если это не сработает, пожалуйста, ответьте, и я что-нибудь придумаю.   -  person timelyportfolio    schedule 05.08.2014