【问题标题】:What algorithms are good for interactive/realtime graph-drawing?哪些算法适用于交互式/实时绘图?
【发布时间】:2010-09-25 14:58:28
【问题描述】:

哪些算法适用于实时数据的交互式/实时图形绘制和直接操作?

如果做不到这一点 - 您使用哪些库来绘制图形?

建议;

  • Prefuse信息可视化工具包
  • 还有其他的吗?

顺便说一句-我的意思是图论意义上的图-点和线

  • 任何语言
  • 实时我的意思是图表应该可以在屏幕上操作一次。

【问题讨论】:

    标签: graph-layout graph-drawing information-visualization


    【解决方案1】:

    我会推荐 Jeff Heer 参与过的任何库:

    我相信这三个项目都是开源的。 Jeff Heer 非常擅长在他的代码中引用论文,至少在 Prefuse 库中是这样。查看 Prefuse 源代码:

    BalloonTreeLayout:使用的算法是 G. Melançon 和 I. Herman 的研究论文 Circular Drawings of Rooted Trees, Reports of the Centre for Mathematics and Computer Sciences, Report Number INS–9817 ,1998 年。

    ForceDirectedLayout.java:没有提到参考,但是有很多 cmets 描述了它是如何工作的。

    FruchtermanReingoldLayout.java:引用 Jung。在他们的网站上我找到了paper which has references to various algorithms

    NodeLinkTreeLayout.java:使用的算法来自 Christoph Buchheim、Michael Jünger 和 Sebastian Leipert 的研究论文 Improving Walker's Algorithm to Run in Linear Time,Graph Drawing 2002。该算法纠正了 Walker 算法中的性能问题,它概括了 Reingold 和 Tilford 的整理树图的方法,以支持在任何给定节点处具有任意数量子节点的树。

    RadialTreeLayout.java:使用的算法是 Ka-Ping Yee、Danyel Fisher、Rachna Dhamija 和 Marti Hearst 在他们的研究论文Animated Exploration of Dynamic Graphs with Radial Layout,InfoVis 2001 中使用的算法。该算法计算径向布局会考虑尺寸的可能变化,并保持方向和排序约束,以促进布局配置之间的平滑和可理解的转换。

    SquarifiedTreeMapLayout:此特定算法取自 Bruls、D.M.、C. Huizing 和 J.J. van Wijk,“Squarified Treemaps”,Data Visualization 2000,Proceedings of the Joint Eurographics and IEEE TCVG Sumposium on Visualization,2000 年,第 33-42 页。可通过http://www.win.tue.nl/~vanwijk/stm.pdf 在线获取。有关 TreeMaps 的更多信息,请参阅http://www.cs.umd.edu/hcil/treemap-history

    【讨论】:

    • 我已经阅读了三个软件项目的源代码,但我很少在代码中看到引用! (包括 Prefuse,但不包括你提到的其他两个)
    • 我找到了不少。请参阅我的更新答案。只需查看布局类即可找到参考。
    【解决方案2】:

    prefuse visualization toolkit 看起来是个不错的候选人。

    Prefuse 支持一组丰富的 数据建模的功能, 可视化和交互。它 提供优化的数据结构 表格、图表和树, 布局和视觉编码技术, 并支持动画、动态 查询、综合搜索和 数据库连接。前置是 用 Java 编写,使用 Java 2D 图形库,很容易 集成到 Java Swing 中 应用程序或 Web 小程序。预熔 根据 BSD 条款获得许可 许可证,并且可以免费用于 商业和非商业 目的。 (来自主页)

    【讨论】:

      【解决方案3】:

      图表绘制是一个很大的领域。这是graph drawing research community web site 的链接。他们有一个专门关于绘图的年度会议。 我还可以建议阅读一些Prof. David Harel's Publications - 他的研究领域之一是绘图,例如this paper。在一般情况下,这似乎是一个很难解决的问题。也许您可以将您的应用程序限制为某些受限制的图形子集(平面图可能过于严格)。可能带有一小组顶点的简单图更容易操作。

      【讨论】:

        【解决方案4】:
        【解决方案5】:

        我使用 Dot 语言来描述图表。而且,Dot 编译器的输出包括 SVG,它是 XML 格式,可以嵌入到 XHTML 中。

        http://en.wikipedia.org/wiki/DOT_language
        

        【讨论】:

        • 不是交互式的,虽然“instaviz”iphone 应用很有趣。
        【解决方案6】:

        不知道你在追求什么......

        听起来您可能正在寻找类似于 rrdtool 的东西?

        也许他们网站上的一些信息会有所帮助:

        http://oss.oetiker.ch/rrdtool/

        【讨论】:

          【解决方案7】:

          我是 stackflow 的新手,很抱歉回复晚了。根据您希望获得的交互性...您可能还不想查看Flot(使用 JQuery,交互性较低)或processing...更具交互性。

          【讨论】:

            猜你喜欢
            • 2013-03-27
            • 1970-01-01
            • 2018-10-13
            • 2012-04-17
            • 2016-05-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-06-16
            相关资源
            最近更新 更多