我正在寻找数据的可视化,希望能让它具有互动性。现在我正在使用NetworkX和Matplotlib,当我试图“绘制”图形时,它最大化了我的8gb。我不知道有哪些选项和技术可用于处理如此大的数据集* * 。如果有人能指出我正确的方向,那就太好了。我也有一个支持CUDA的GFX卡,如果它可以使用。
现在我正在考虑只绘制连接最多的节点,比如说边缘最多5%的顶点,然后在用户缩放或点击时填充连接较少的节点。
答案 0 :(得分:4)
我对此没有任何经验,但似乎是tulip。
答案 1 :(得分:2)
你应该在官方的wxPython邮件列表上询问。那里有人可以帮助你。我很惊讶matplotlib虽然无法做到这一点。它可能只需要您以某种方式重构代码。现在,在wxPython中绘制的主要方法是通过各种DC,一个FloatCanvas小部件或用于绘图,wx.Plot或matplotlib。
答案 2 :(得分:2)
也许PyOpenGL?它可以与wxPython一起使用。
编辑:只是尝试了没有任何优化的性能,绘制100k顶点需要0.2s,绘制1M边缘需要4s。
答案 3 :(得分:1)
您考虑过graphviz了吗?虽然它从一开始就设计用于处理非常大的图形(尽管1M边缘可能超出它的能力),但它不是交互式的。
有一个python模块(pydot)可以简单地与graphviz进行交互。再说一次,不能肯定它会扩展到你的水平。但是,应该很容易找到:两者的安装都很简单。
第h
答案 4 :(得分:1)
答案 5 :(得分:0)
您是否尝试过Gephi?
我相信它的扩展性非常好。