2013-07-08 5 views
4

У меня есть следующая проблема; Я использую оболочку rCharts вокруг NVD3 для создания простой линейной диаграммы. Я хочу изменить поведение tootip по умолчанию. Используя библиотеку NVD3, я смог сделать это со следующим кодом;rCharts rNVD3 настройка подсказки

.tooltipContent(function(key,x ,y,e,graph){ 
    var idx = x.replace("s","") 

    var thumbPath = 'snap_' + idx + '.png' 
    return '<h3>' + key + '</h3>' + 
    '<p>' + y + ' at ' + x + '</p>' + 
    '<img src="'+ thumbPath+ '" alt="some_text">' 
    }) 

Это показывает различные миниатюры для разных значений метки x. Мой вопрос таков: Возможно ли реализовать вышеупомянутое с помощью rCharts в его нынешнем виде или мне нужно будет изменить источник?

ответ

12

Вот минимальный пример того, как указать всплывающую подсказку в rCharts для NVD3. Любые литералы JS, которые вы хотите передать из R, включая JS-функции, должны быть обернуты между #! и !# тегами, чтобы R не переводил их в строки во время преобразования в JSON. Выходной график можно увидеть здесь http://rcharts.io/viewer/?5948336

require(rCharts) 
n1 <- nPlot(mpg ~ wt, group = 'gear', data = mtcars, type = 'scatterChart') 
n1$chart(tooltipContent = "#! function(key, x, y){ 
    return 'x: ' + x + ' y: ' + y 
} !#") 

В общем, любой метод диаграммы chart.x(y) переводит n1$chart(x = y) в rCharts с y украшаются с тегами, если требуется.

Надеюсь, это поможет.

+0

Благодарим за быстрый ответ Ramnath. Любите библиотеку! – Joe

+0

Отлично! Вы можете публиковать любые проблемы, которые у вас есть на странице github для rCharts. – Ramnath

+0

Я обязательно сделаю это в будущем! – Joe