我在一个闪亮的应用程序中有一个scatterd3(包散点图3)图,但我无法弄清楚如何在点击绘制的点后回传信息。这个网站似乎解释了它,但我无法得到它: https://cran.r-project.org/web/packages/scatterD3/vignettes/introduction.html#javascript-callback-on-clicking-point
scatterD3(data = mtcars, x = wt, y = mpg,
click_callback = "function(id, index) {
if(id && typeof(Shiny) != 'undefined') {
Shiny.onInputChange(id + '_selected', index);
}
}")
您知道点击信息的存储位置吗?我以为我可以用闪亮的gui称之为:
verbatimTextOutput("scatterPlot$index")
有什么想法吗? 干杯
答案 0 :(得分:3)
使用两个参数调用click_callback
JavaScript函数:plot unique id和clicked point index。通过使用Shiny.onInputChange
,您可以将闪亮的input
广告位绑定到某个值并获取数据。
例如,使用以下click_callback
函数:
scatterD3(data = mtcars, x = wt, y = mpg,
click_callback = "function(id, index) {
if(id && typeof(Shiny) != 'undefined') {
Shiny.onInputChange('selected_point', index);
}
}")
您应该可以执行以下操作:
verbatimTextOutput(paste("Index of clicked point : ", input$selected_point))
这是scatterD3
中的最新功能,因此如果出现错误或缺少功能,请不要犹豫open an issue on Github。
答案 1 :(得分:1)
observe({
click_index <- input$selected_point
updateNumericInput(session, "numeric1", value=click_index)
})
我的gui中的numericInput是:
numericInput("numeric1", "Clicked point index :", value=0)