通过单击RStudio查看器窗格中的dygraph获取点坐标

时间:2017-11-28 17:50:41

标签: r rstudio dygraphs

这是一个简单的dygraph:

library(dygraphs)  
dg <- dygraph(ldeaths)  
dg

当鼠标移过系列时,会显示各个值。我想点击一个点,并在控制台上显示x坐标(即日期)或保存到变量。我怎么能做到这一点?看起来答案与dyCallbacks()有关,但我无法弄明白。例如,

> d <- dg %>% dyCallbacks(pointClickCallback = 'function(e, p) {return
> p.x;}')   d$x$attrs$pointClickCallback   [1] "function(e, p) {return
> p.x;}"   attr(,"class")   [1] "JS_EVAL"

提前致谢,
法比奥

1 个答案:

答案 0 :(得分:1)

我对Javascript知之甚少,但如果你对光明有所了解,你可以得到你想要的东西。使用Shiny中的点击输入装订,您可以打印x变量,使用Shiny,您也可以根据需要轻松保存。以下是您可以执行的操作的最小示例:

ui = fluidPage(
  mainPanel(
    dygraphOutput("dygraph"),
    br(),
    textOutput("clicked", inline = TRUE)
  )
)


server = function(input, output) {


  output$dygraph <- renderDygraph({
    dygraph(ldeaths) 
  })

  output$clicked <- renderText({
    strftime(req(input$dygraph_click$x), "%d %b %Y")
  })

  clickedPr <- reactive({
    print(strftime(req(input$dygraph_click$x), "%d %b %Y"))
  })

  observeEvent(input$dygraph_click$x,{

      write.csv(clickedPr(), "test.csv") 
    })


}

shinyApp(ui = ui, server = server)