Web应用程序中的交互式Graphviz图形
我正在尝试使用Python在我的Django Web应用程序中进行一些交互式图形可视化。 我找到了Graphviz,并能够使用Pydot(Graphviz的点语言的Python界面)在我的应用程序上输出静态图(作为.png图像)。
但是,我期待让我的图形更具交互性,就像在将鼠标移过节点时突出显示节点,使节点可点击,将节点拖动到不同位置并放大图形一样。
有没有办法在Graphviz中做到这一点? 或者一般来说,有没有办法为我的Django应用程序制作交互式图形,而无需使用Flash? 我不想使用闪光灯,因为我不熟悉它,也因为我想要显示一个相当大的数据集。
试试Javascript的Infovis工具包。 它全部在浏览器画布中实现,因此不需要Flash,只有支持<canvas>
标记的体面浏览器。 图形可视化的例子在这里,在这里和这里,其他演示在这里。
有Canviz(来源)。 然而,节点还不是可点击的(它们是使用图像映射的旧版本,代码库已经改变,现在渲染在客户端使用javascript发生,这就是为什么可重新点击的链接尚未启用。
这是我发现的最好的,但他们有很多。
mxGraph(不免费)
您可以使用D3.js进行图形可视化(请参阅此处查看D3js中图形可视化的示例,并查看如何制作交互式网络可视化)。
对于后端(如果需要的不仅仅是一个json文件来表示图形 - 也就是说它很大),那么您可以为图形使用Python模块NetworkX。
注意,这里是我简单的交互式图形可视化的例子:
链接地址: http://www.djcxy.com/p/62463.html