2013-11-24 2 views
2

Я надеюсь, что это простой вопрос для кого-то там.HoverCallback или эквивалент всплывающей подсказки для гитарных диаграмм rCharts Morris?

Я хотел бы использовать rCharts для создания простой гистограммы с настраиваемым зависанием. Я нашел пример кода, который я могу использовать для аннотации точечного графика, но не для гистограммы.

Точечный график и гистограммы построены с использованием разных ссылочных классов (PolyCharts vs. Morris), но я надеюсь, что синтаксис может быть схожим, или кто-то может дать предложения о том, как установить свойства HoverCallback через rCharts. Ниже приведен фрагмент кода.

require(rCharts) 

sex = c("Male", "Female") 
ttl = c(4132,4399) 
pct = c(48.4, 51.6) 

dta = data.frame(sex,ttl,pct) 

rp <- rPlot(pct ~ sex, data = dta, type = 'point', 
        tooltip="function(item){return item.ttl +'\n' + item.pct}" 
       ) 
str(rp) 
sp$guides(y = list(title = "", min=0,max = 100)) 
rp 

# Bar Chart (Reference class = Morris) 

mp <- mPlot(x = 'sex', y = c('ttl'), data = dta, type = "Bar", 
      names.arg=c("Male","Female") 
) 

Любые предложения для кодирования или документации, которые я могу рассмотреть, были бы весьма признательны.

ответ

3

Вот как вы можете изменять подсказки с помощью Morris. Вы можете просмотреть итоговый график с кодом here.

mp <- mPlot(ttl ~ sex, data = dta, type = "Bar") 
mp$set(hoverCallback = "#! function(index, options, content){ 
    var row = options.data[index] 
    return '<b>' + row.sex + '</b>' + '<br/>' + 
    'ttl: ' + row.ttl + '<br/>' + 
    'pct: ' + row.pct 
} !#") 
mp 

Хотя rCharts пытается обеспечить последовательный интерфейс между несколькими библиотеками а именно, это, как правило, ограничивается данными и сюжетной эстетикой. Настройка зависит от каждой библиотеки viz и отличается от разных библиотек. Для MorrisJS вы можете найти документацию непосредственно на Morris Website. Любой из параметров можно добавить в диаграмму, используя метод set.

Смешанная линия #!...!#, которую вы видите в приведенном выше кодексе, представляет собой взломать, чтобы объекты javascript, такие как функции, были напрямую переданы в HTML, поскольку в противном случае они будут преобразованы в строки.

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

+0

Это именно то, что я искал. Взлом - это именно то, чего мне не хватало из моих попыток установить опцию hoverCallback. И, благодарю вас за то, что вы так быстро ответили - я очень наслаждаюсь rCharts. – user3019627

+0

Рад помочь! – Ramnath

Смежные вопросы