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

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

问题描述

我想在图形应用程序中可视化 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.

我有两个问题.

  • 上一段中粗略描述的三个要求的技术术语是什么?
  • 我是一名 Java 程序员,没有 JavaScript 方面的经验,但我认为,有了这个项目,是时候获得一些 - 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 本身来可视化您的网络,据我所知,您无法将其 UI 嵌入到您的 Java/Swing 应用程序中.该工具包包含所有算法和插件基础设施,因此如果您想使用嵌入在您的应用程序中的一些分析工具,您可以使用它,否则我认为这不是您的情况.

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

  • 恕我直言,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 也可以在 GPU 支持下轻松布置 50000 个节点.

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 获胜

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

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