簡體   English   中英

在Shiny for R中設置Dygraph的交互模型

[英]Setting the interaction model of a Dygraph in Shiny for R

我正在將“自定義交互模型”下位於http://dygraphs.com/gallery/#g/interaction的自定義交互添加到我的Shiny Web應用程序中。

據我了解,這需要在頁面上附加一些JS並在圖形上設置交互模型:

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

但是,在R側的dyOptions函數中,似乎沒有將interactionModel作為參數列出。

有辦法解決這個問題嗎?

更新:

查看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函數引用傳遞給頁面。

您可以使用JS函數將JavaScript通過JSON傳遞給客戶端。

在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"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM