【问题标题】:interactive graph in R [closed]R中的交互式图[关闭]
【发布时间】:2015-03-06 18:12:28
【问题描述】:

我想在 R 中创建交互式图形,用户可以在其中放大/缩小图形,如果可能的话,还可以单击顶点并获取有关它的更多信息。在 igraph 中,有 rglplot,它可以放大和缩小,但使图形 3d - 如果有办法使 rglplot 出现 2d,那可能会奏效。 igraph 也有 tkplot,但它只允许拖动顶点,不能放大/缩小。 tkplot 也不能​​部署在网络上(这是首选但不是必需的)。

我读过 ragraph 可以绘制交互式图表,但不知道如何绘制。

大家有什么好的建议吗?

【问题讨论】:

  • @jalapic - 感谢您的回复,我想我可以用 svg 做很多事情。我不确定是否应该使用 gridSVG 或 SVGAnnotation。据我了解,gridSVG 与 Shiny 兼容,但必须在基于网格的图上使用 - 我有一个用基本 plot() 绘制的图形对象(graphNEL 图) - 是基于网格的图/我可以应用吗格来吗? SVGAnnotation 适用于基本图形,但你知道它是否与 Shiny 兼容吗?
  • 谢谢大家,这对于我的一些较小的图表来说工作得很好,但对于较大的图表,它正在崩溃 r studio。 @jalapic networkD3 对于较大的图可能更好,但它是否支持有向无环图?像这样的东西:github.com/nickholub/d3-dag-visualization,但 R 也支持?

标签: r graph zooming shiny interactive


【解决方案1】:

一个很好的选择是svgPanZoom 包,它本质上是svg-pan-zoom.js 的R htmlwidget

您可以将它与常规绘图、其他图形包和闪亮的图形一起使用。

见:https://github.com/timelyportfolio/svgPanZoom

示例:

devtools::install_github("timelyportfolio/svgPanZoom") #install


library(svgPanZoom) 
library(SVGAnnotation)

svgPanZoom(
  svgPlot(
    plot(1:10)
  )
)

【讨论】:

    【解决方案2】:

    看看闪亮。它使您可以创建非常整洁的交互式图形并轻松地将它们部署到网页上。请注意,它完全依赖于 RStudio。我玩了一点,印象非常深刻。他们有很好的教程。 http://www.rstudio.com/products/shiny/

    【讨论】:

    • 谢谢丹尼。是的,这正是我正在寻找的。我在 Shiny 中有一个应用程序,但我只能通过用户控件与绘图交互 - 即我可以在控件中输入用户类型并显示下面的所有节点。但是我不能让用户点击一个节点来显示更多信息,或者只是用鼠标放大缩小,例如
    • @md1630 - 看看 networkD3 - 它使您能够与网络图进行更多交互
    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 2014-03-07
    • 2011-10-13
    • 2015-04-24
    • 2018-02-22
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多