这是一个简单的图文:
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"
提前致谢,
法比奥
最佳答案
我对Javascript不太了解,但是如果你对shiny持开放态度,你就能得到你想要的。使用 Shiny
中的点击输入绑定(bind),您可以打印 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)
关于r - 通过单击 RStudio 查看器 Pane 中的图来获取点坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47537946/