【问题标题】:Python tools to visualize 100k Vertices and 1M Edges? [closed]用于可视化 100k 顶点和 1M 边的 Python 工具? [关闭]
【发布时间】:2011-08-04 14:55:03
【问题描述】:

我希望将数据可视化,希望使其具有交互性。现在我正在使用 NetworkX 和 Matplotlib,当我尝试“绘制”图形时,它会最大化我的 8gb。我不知道有哪些选项和技术可用于处理如此庞大的数据集群**。如果有人能指出我正确的方向,那就太好了。如果可以使用的话,我还有一个启用了 CUDA 的 GFX 卡。

现在我正在考虑只绘制连接最多的节点,比如边缘最多的前 5% 的顶点,然后在用户缩放或点击时填充连接较少的节点。

【问题讨论】:

    标签: python graph wxpython visualization


    【解决方案1】:

    你试过Gephi吗?

    我相信它的扩展性很好。

    【讨论】:

      【解决方案2】:

      您是否考虑过使用ParaViewVisIt?这是两个交互式绘图程序,旨在处理和绘制(非常!)大型数据集。它们都具有 Python 脚本接口,因此您可以在 Python 解释器中自动化/控制您的可视化。

      【讨论】:

        【解决方案3】:

        也许是PyOpenGL?可以和wxPython一起使用。

        编辑:刚试了一下性能,没有做任何优化,画100k个顶点需要0.2s,画1M个边需要4s。

        【讨论】:

          【解决方案4】:

          你考虑过graphviz吗?尽管它从一开始就被设计为处理非常大的图形(尽管 1M 边可能超出了它的能力),但它不是交互式的。

          有一个 python 模块 (pydot) 可以让与 graphviz 的交互变得简单。同样,不能肯定地说它会扩展到您的水平。但是,应该很容易发现:两者的安装都很简单。

          hth.

          【讨论】:

          • Dot 很好,但我很确定这超出了它的能力。幸运的是,现在有更好的开源解决方案,比如 tulip(还有其他)。
          • 是的,郁金香对我来说是新的——看起来很有趣。祝你好运。
          【解决方案5】:

          您应该在 wxPython 官方邮件列表中询问。那里有人可能会帮助你。我很惊讶 matplotlib 无法做到这一点。它可能只需要您以某种方式重组代码。目前,在 wxPython 中绘制的主要方法是通过各种 DC、FloatCanvas 小部件之一或用于绘图的 wx.Plot 或 matplotlib。

          【讨论】:

            【解决方案6】:

            我对此没有任何经验,但 tulip 似乎就是为此而生的。

            【讨论】:

            • 该链接对我无效。
            • 现在可以了。可能服务器暂时停机了。
            • 我的朋友告诉我,郁金香虽然非常适合这种工作,但学习曲线却很陡峭。他建议Cytoscape,但现在我在看web app friendly solutions
            • 我不认为任何浏览器都足够快来处理这种负载,但你可以试试:)
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2010-09-26
            • 2012-11-03
            • 2010-10-29
            • 1970-01-01
            • 2011-05-05
            • 2012-10-10
            • 2012-11-10
            相关资源
            最近更新 更多