图形可视化框架 [英] Graph visualization frameworks

查看:139
本文介绍了图形可视化框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在图形应用程序中可视化Neo4j数据库。 (我这样做主要是为了学习练习)。

I want to visualize a Neo4j database in a graphical application. (I'm doing this primarily as a learning exercise).

我希望它的行为几乎与Neo4j的WebAdmin中的可视化相同:当图形出现时,我想看到节点在它们最终位置时移动,我希望用户能够点击并拖动屏幕周围的节点图标,让它们粘在它们被丢弃的地方,图表的其余部分进行调整以适应变化。

I want it to behave almost identically to the visualization in Neo4j's WebAdmin: When the graphic appears, I want to see the nodes moving around as they settle into their final locations, and I want the user to be able to click and drag node icons around the screen and have them stick where they are dropped, with the rest of the graph adjusting to account for the change.

我有两个问题。


  • 上段粗略描述的三项要求的技术术语是什么?

  • 我是一名没有JavaScript经验的Java程序员,但我想,通过这个项目,是时候得到一些 - sigma.js 特别是看起来非常强大且相对简单。但是,最终这需要在Java Swing应用程序中完成,虽然我知道有各种容器可以用来将JS / HTML内容嵌入到Swing中,但纯粹的Java解决方案似乎仍然是理想的,而且我是对可能使这成为可能的任何框架感到好奇。我现在正在研究Gephi,但它似乎没有像sigma.js那样强大或简单易用。这个假设我错了吗?

  • 总结第二个问题:哪个是我的时间投资更好:学习 sigma.js 和各种JS框架(这将要求我对JS一般感到满意,或者学习在Java中使用Gephi? (假设我对图形可视化有一般和长期的兴趣)

  • What are the technical terms for the three requirements crudely described in the paragraph above?
  • I'm a Java programmer with no experience in JavaScript, but I'm thinking that, with this project, it's time to get some - sigma.js in particular seems very powerful and relatively simple. However, ultimately this needs to be done within a Java Swing application, and while I know there are various containers I can use to embed JS/HTML content into Swing, still it seems that a pure Java solution would be ideal, and I'm curious about any frameworks that might make this possible. I'm looking into Gephi now, but it doesn't seem anywhere near as powerful or as simple to use as sigma.js. Am I wrong in this assumption?
  • To summarize the second question: Which would be the better investment of my time: Learning sigma.js and the various JS frameworks (which will require me to get comfortable with JS in general), or learning to use Gephi in Java? (assuming I have a general and long-term interest in graph visualization)

推荐答案

Java可视化



Gephi为Java提供提供工具包 Python不包含UI模块,所以除非你想使用Gephi本身来可视化你的网络,否则你不能在你的Java / Swing应用程序中嵌入它的UI。
该工具包包含所有算法和插件基础结构,因此如果您想使用嵌入在应用程序中的一些分析工具,您可以使用它,否则我不认为这是您的情况。

Java visualization

Gephi does provide a toolkit for Java and Python which doesn't contains the UI modules, so unless you want to use Gephi itself to visualise your network you cannot embed its UI in your Java/Swing application as long as I know. The toolkit contains all the algorithms and plugin infrastructure so if you want to use some of their analysis tool embedded in your app you can use that, otherwise I don't think it's your case.

如果您想在此处进行图形可视化,还有其他Java选项:用于动态可视化的Java图形库

There are other Java options if you want for graph visualisation here: Java graph library for dynamic visualisation


  • IMHO Gephi比sigma.js强大得多:它有完整的SNA工具,多种布局,数据编辑器,导出器,插件系统......

  • IMHO Gephi is far more powerful than sigma.js: it has full SNA tools, multiple layouts, a data editor, exporters, plugin-systems...

一个重要的因素是你想要显示的数据集的大小:虽然sigmaJS可以在视图中处理多达500个节点,Gephi也可以轻松布局50000个支持GPU的节点。

One important factor is also the size of the dataset you want to visualise: while sigmaJS can handle up to 500 nodes in the view, Gephi can layout easily 50000 nodes with GPU support as well.

Gephi是一种科学工具,适用于那些不想编码以实现网络可视化的人,而且它可以完成任务。 SigmaJS是在网页上可视化图形的众多JS解决方案之一。

Gephi is a scientific tool made for people that don't want to code to visualise a network and it does it's job. SigmaJS is one of many JS solutions to visualise graphs on a web page.

您始终可以使用插件从Gephi导出到sigmaJS

在故事的最后,我想你要使用的工具将取决于:

At the end of the story I guess the tool you are going to use will depends on:


  • 您是否需要可视化大数据集? - > Java解决方案将赢得大型解决方案

  • 您是否需要轻松分发? - > Web应用程序/ SigmaJS赢得分发

  • 您想要与您的应用程序完全集成吗? - > Java wins

这篇关于图形可视化框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆