Javascript rCharts::rPlot on click事件

Javascript rCharts::rPlot on click事件,javascript,r,highcharts,rcharts,polychart,Javascript,R,Highcharts,Rcharts,Polychart,此示例演示了如何使用javascript向rPlot添加工具提示: 此示例演示了如何将单击事件添加到hPlot(highcharts): 我想让rPlot作为hPlot在.click事件上执行类似的操作,但无法找到使用rPlot/polycharts分配它的正确方法 Polychart示例(成功应用工具提示): require(rCharts) 种子(1) test1每个javascript图表库都有自己的处理机制,包括单击事件。因此,一般来说,试图将方法从一个库复制到另一个库是行不通的。幸运

此示例演示了如何使用javascript向rPlot添加工具提示: 此示例演示了如何将单击事件添加到hPlot(highcharts):

我想让rPlot作为hPlot在.click事件上执行类似的操作,但无法找到使用rPlot/polycharts分配它的正确方法

Polychart示例(成功应用工具提示):

require(rCharts)
种子(1)

test1每个javascript图表库都有自己的处理机制,包括单击事件。因此,一般来说,试图将方法从一个库复制到另一个库是行不通的。幸运的是,
polychart
有一个支持点击处理程序的机制。这里是一个最小的例子。我基本上是使用
afterScript
添加一个javascript片段,将处理程序添加到图表中。polycharts中用于交互处理程序的文档非常薄,因此要做任何更有意义的事情,您必须深入了解它们的源代码或查看它们的示例

require(rCharts)
set.seed(1)
test1 <- data.frame(x = rnorm(100), y = rnorm(100), id = 1:100)
p <- rPlot(y ~ x, 
  data = test1, 
  type = 'point',
  tooltip = "#!function(item){ return 'x: ' + item.x + ' y: ' + item.y + ' id: ' + item.id }!#"
)
p$set(dom = 'chart1')
p$setTemplate(afterScript = "
  <script>
   graph_chart1.addHandler(function(type, e){
      var data = e.evtData
      if (type === 'click'){
        alert('You clicked on' + data.x.in[0] + ',' + data.y.in[0])
      }
   })
  </script>    
")

发现这个解决方案在我正在开发的闪亮应用程序中似乎不起作用。看起来“afterScript”从未执行过(在中尝试了console.log)。正在渲染打印(带有工具提示),但没有单击事件。有什么线索或者我应该提交一份完整的报告吗?你能在github上提交一份完整的报告吗?
 require(rCharts)
 a <- hPlot(freq ~ Exer, data = plyr::count(MASS::survey, c('Sex','Exer')), type = 'bar', group = 'Sex', group.na = 'NA\'s')
a$plotOptions(bar = list(cursor = 'pointer', point = list(events = list(click = "#! function() { alert ('Category: '+ this.category +', value: '+ this.y); } !#"))))
a
require(rCharts)
set.seed(1)
test1 <- data.frame(x = rnorm(100), y = rnorm(100), id = 1:100)
p <- rPlot(y ~ x, data = test1, 
       type = 'point',
       point = list(events = list(click = "#! function() {alert('testMessagePleaseWork');} !#")),
       tooltip = "#!function(item){ return 'x: ' + item.x + ' y: ' + item.y + ' id: ' + item.id }!#")
p
require(rCharts)
set.seed(1)
test1 <- data.frame(x = rnorm(100), y = rnorm(100), id = 1:100)
p <- rPlot(y ~ x, 
  data = test1, 
  type = 'point',
  tooltip = "#!function(item){ return 'x: ' + item.x + ' y: ' + item.y + ' id: ' + item.id }!#"
)
p$set(dom = 'chart1')
p$setTemplate(afterScript = "
  <script>
   graph_chart1.addHandler(function(type, e){
      var data = e.evtData
      if (type === 'click'){
        alert('You clicked on' + data.x.in[0] + ',' + data.y.in[0])
      }
   })
  </script>    
")
install.packages('base64enc') # dependency
devtools::install_github("ramnathv/rCharts@dev")