使用事件触发器选项和Javascript代码进行R gvisTable预选
在R中,我希望为gvisTable设置输出选择,以便突出显示特定的行或列 例如,我有以下代码:使用事件触发器选项和Javascript代码进行R gvisTable预选,javascript,r,google-visualization,Javascript,R,Google Visualization,在R中,我希望为gvisTable设置输出选择,以便突出显示特定的行或列 例如,我有以下代码: a <- as.data.frame(matrix(1:100, nrow=10)) plot(gvisTable(a)) 我能找到的唯一方法是将一些自定义JavaScript注入到调用gvisTable()创建的HTML中。您将无法像提供的示例那样使用EventListener——原因是当前实现的EventListener仅在单击表时执行。在此之前,您需要执行代码。看起来插入它的最佳位置是
a <- as.data.frame(matrix(1:100, nrow=10))
plot(gvisTable(a))
我能找到的唯一方法是将一些自定义JavaScript注入到调用
gvisTable()
创建的HTML中。您将无法像提供的示例那样使用EventListener——原因是当前实现的EventListener仅在单击表时执行。在此之前,您需要执行代码。看起来插入它的最佳位置是返回的HTML的jsDrawChart
部分。这是组装图表对象的JS表示的地方。在绘制图表后,您可以对对象进行其他调用
快速查看table对象的属性可以看出,如果使用正确的参数格式,Javascript中有一个很好的setSelection()
函数
我做了以下工作:
mytab <- (gvisTable(a,chartid="myTable"))
#you just want to add the following line of JS before the close bracket in the jsDrawChart function.
# chart.setSelection([{'row':2, 'column':null}]);
#in my case, that turned out to be the following:
mytab$html$chart["jsDrawChart"] <- "\n// jsDrawChart\nfunction drawChartmyTable() {\n var data = gvisDatamyTable();\n var options = {};\noptions[\"allowHtml\"] = true;\n\n var chart = new google.visualization.Table(\n document.getElementById('myTable')\n );\n chart.draw(data,options);\n chart.setSelection([{'row':2, 'column':null}]); \n\n}\n \n"
mytab
mytab <- (gvisTable(a,chartid="myTable"))
#you just want to add the following line of JS before the close bracket in the jsDrawChart function.
# chart.setSelection([{'row':2, 'column':null}]);
#in my case, that turned out to be the following:
mytab$html$chart["jsDrawChart"] <- "\n// jsDrawChart\nfunction drawChartmyTable() {\n var data = gvisDatamyTable();\n var options = {};\noptions[\"allowHtml\"] = true;\n\n var chart = new google.visualization.Table(\n document.getElementById('myTable')\n );\n chart.draw(data,options);\n chart.setSelection([{'row':2, 'column':null}]); \n\n}\n \n"