微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

svgPanZoom 阻止与 R/Shiny 中的 visNetwork 交互

如何解决svgPanZoom 阻止与 R/Shiny 中的 visNetwork 交互

我在 R/Shiny 应用程序中使用 svgPanZoom 和 visNetwork,遇到了以下奇怪的行为:

  • 在 UI 中的 'visNetworkOutput' 之前使用 'svgPanZoomOutput' 时,与 visNetwork 图表的正确交互是不可能的:例如节点拖动不起作用,因为鼠标点击选择整个画布。
  • 反转顺序(在 'svgPanZoomOutput' 之前的'visNetworkOutput')解决了这个问题,但由于我的应用程序的逻辑,很遗憾这不是合适的解决方案。

欢迎任何帮助理解和解决问题!

请找到随附的非工作配置的最小示例:

library(shiny)
library(visNetwork)
library(svgPanZoom)

server <- function(input,output) {
  
  output$visNetworkChart <- renderVisNetwork({
    nodes <- data.frame(id = 1:3)
    edges <- data.frame(from = c(1,2),to = c(1,3))
    visNetwork(nodes,edges)
  })
  
  output$svgPanZoomChart <- renderSvgPanZoom({
    svg_xml <- '<svg><circle cx="150" cy="100" r="80" fill="green"/></svg>'
    svgPanZoom(svg_xml)
  })
  
}

ui <- fluidPage(
  svgPanZoomOutput("svgPanZoomChart",height = "400px"),visNetworkOutput("visNetworkChart",height = "400px")
)

shinyApp(ui = ui,server = server)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。