首页 > 解决方案 > 具有特定特征的海量数据的图形表示工具

问题描述

我正在构建一个JavaFX应用程序,我想在其中显示我的海量数据的交互式图表。诸如将 cytoscape 放置在javaFX应用程序中并在我的应用程序中使用图形之类的东西。我的节点最多可能有 30000 个节点,但通常在过滤节点后大约有 200 个节点。

主要特点(按重要性排序):

  1. 生成具有最佳布局和外观的图形,具有良好的性能和低重叠(与 cytoscape 相同)
  2. 选择一些节点并标记它们(与 cytoscape 中的 ctrl+L 相同)
  3. 选择一些节点的邻居
  4. 从数字 3 构建新图表
  5. 基于权重、边数和...的过滤图
  6. 隐藏和显示一些选定的边和节点
  7. 捕获构建图的图像

附加的功能 :

  1. 放大缩小
  2. 节点标记
  3. 多色节点和边缘
  4. 根据重量改变边缘的宽度
  5. 在不重建图形的情况下更改特定节点和边的颜色
  6. 有向边支持

我已经测试了 cytoscape.js 但无法在 javaFX 浏览器中使用它。我现在正在测试 WebVowl。对于我的目的,有什么比这些更好的吗?如果你建议一些不能直接放在 javaFX 应用程序中的东西,请展示我是如何做到的。谢谢

标签: javafxgraphbigdatacytoscape.jscytoscape

解决方案


根据您要执行的操作,您可以使用 Cytoscape 作为数据模型,并围绕它构建 JavaFX 渲染器。我一直想这样做,但它不在与我们的资金相关的路线图中。

我已经完成了一些 JavaFX 项目,这些项目可能是很好的起点,但它们并没有直接与 Cytoscape 集成,后者具有更丰富的子网、组等模型。

https://github.com/AdamStuart/appFX/tree/master2/src/main/java/diagrams

其中之一是基于 TESIS DYNAware GmbH 的一个很好的例子。

正如您所意识到的,关键问题是在尝试将网络可视化之前对其进行过滤。如果您尝试构建一些交互式的东西,那么与 30000 个节点相关联的边数将使大多数系统陷入困境。


推荐阅读