这是一个简单的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"
提前致谢,
法比奥
答案 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)