设置一个Dygraph的互动模式中闪亮的R(Setting the interaction mode

2019-10-22 07:12发布

我期待在看到自定义交互添加http://dygraphs.com/gallery/#g/interaction下的“自定义互动模式”到我闪亮的web应用程序。

据我了解,这需要附加一些JS到页面,设置图表上的互动模式:

interactionModel : { 'mousedown' : downV3, 'mousemove' : moveV3, 'mouseup' : upV3, 'click' : clickV3, 'dblclick' : dblClickV3, 'mousewheel' : scrollV3 }

然而, interactionModel似乎并不被列为一个参数dyOptions在R侧的功能。

有没有办法解决呢?

更新:

纵观源dyOptions ,似乎选项可以直接修改:

g <- dyGraph(series)

g$x$attr$option <- "Value"

然而,设置interactionModel这里似乎并没有工作。

请参阅: https://github.com/rstudio/dygraphs/blob/master/R/options.R

更新:

事实上,你可以设置使用的选项:

g$x$attrs$option <- "Value" # Note that it is "attrs", not "attr"

这可用于关掉交互模式:

graph$x$attrs$interactionModel <- "{}"

剩下的问题是通过JSON传递JS函数引用的页面。

Answer 1:

您可以使用JS功能超过JSON的JavaScript传递到客户端。

在ui.R:

tags$head(tags$script(src="interaction.js"))

在server.R:

g <- dygraph(series(), main = "Graph", xlab = "Date", ylab = "Amount") %>%
    dySeries(label = "X")

g$x$attrs$interactionModel <- list(
    mousedown = JS("downV3"),
    mousemove = JS("moveV3"),
    mouseup = JS("upV3"),
    click = JS("clickV3"),
    dblclick = JS("dblClickV3"),
    mousewheel = JS("scrollV3"))


文章来源: Setting the interaction model of a Dygraph in Shiny for R