当前位置: 首页 > 面试题库 >

类似于Java中的Cytoscape工具来构建图形

颛孙星海
2023-03-14
问题内容

作为项目需求的一部分,我需要构建图形。假设我以以下格式指定了输入内容。

比尔·盖茨创立了微软。

我需要以图形方式将以上内容表示为节点表示形式(node1可以是Bill
Gates,node2可以是Microsoft)。我遇到了cytoscape,这是一种用于有效表示分子相互作用的工具。它允许用户创建新插件并将其简单地添加到应用程序中。但是,我的要求更像是从用户那里获取输入并基于此构建图形。例如,我的输入将如下所示。

输入节点1:Bill Gates输入节点2:Microsoft

我需要将以上内容显示为图形表示。请让我知道如何去做。我将代表一个巨大的图。(即)我的输入可能包含约5万个节点和边。因此,我更喜欢一些图形构建工具,该工具具有一些用于接受输入的预定义格式。

因此,基本上,我将接受用户的输入并将其转换为图形构建工具使用的格式,并在Java控制台或用户界面中从该工具显示图形。

让我知道您是否需要更多详细信息。


问题答案:

在很大程度上取决于您计划解决此问题的级别。较大的库功能更强大,但它们通常具有较陡的学习曲线。以下是一些可以考虑的方法:

  • JHotDraw此处引用的是用于创建自定义图形编辑器的元数据库。
    JHotDraw被设计为“用于技术和结构化图形的Java GUI框架”。链接的JHotDraw模式语言 :“ JHotDraw域概述”说明了如何自定义图形编辑器。该示例org.jhotdraw.samples.draw.Main是一个合理的起点,并且JModeller是使用该框架构建的简单的UML编辑器。

  • Prefuse演示的,支持图形建模,可视化和交互。

  • GraphViz是由AT&T开发的图形可视化图书馆。

  • JGraph,是一个流行的图形可视化库。

  • GraphPanel所示,示出了非常基本的图形编辑面板。



 类似资料:
  • 我需要建立图形作为项目要求的一部分。假设,我有如下格式的输入。 比尔·盖茨创立了微软。 我需要以图形的形式将上述内容表示为节点表示(节点1可以是比尔·盖茨,节点2可以是微软)。我偶然发现了cytoscape,一种用于有效表达分子相互作用的工具。它允许用户创建新插件并简单地将它们添加到应用程序中。然而,我的需求更像是从用户那里获取输入,并在此基础上构建图形。例如,我的输入如下。 输入节点1:比尔盖茨

  • Ant Ant 是 Apache 组织下的一个跨平台的项目构建工具,它是一个基于任务和依赖的构建系统,是过程式的。开发者需要显示的指定每一个任务,每个任务包含一组由 XML 编码的指令,必须在指令中明确告诉 Ant 源码在哪里,结果字节码存储在哪里,如何将这些字节码打包成 JAR 文件。Ant 没有生命周期,你必须定义任务和任务之间的依赖,还需要手工定义任务的执行序列和逻辑关系。这就无形中造成了大

  • 问题内容: 我是Java的新手,我试图找到一种方法来在C语言中存储诸如结构之类的信息。例如,说我想让一名程序雇用员工。它将从用户那里获得一个名字,姓氏和ID号并将其存储起来。然后,用户可以根据条件查看该信息(例如,如果数据库有多于1名员工)。有没有人建议这样做的最佳方法? 问题答案: C中的结构就像Java中的类一样,功能更强大,因为Java中的类可以包含方法,而C ++可以。您创建一个新类。例如

  • 问题内容: 改善这个问题 我正在 寻找一个Java绘图库,它可能与matplotlib对于python一样好。 我已经针对SO问题进行了一些研究,但是自从被问起以来,其中许多问题已经过时,并且发生了很大变化。提出的建议导致网站从表面上看似乎提供了很好的库,但是 我的需求是即时的,我无暇花时间使用它们并通过经验找到最佳的库。 因此,我想问一下您的经验,你们中的任何人都可以推荐一个针对java的图形库

  • 一、构建工具的作用 二、Java 主流构建工具 三、Maven 参考资料 一、构建工具的作用 构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而为我们减少这些繁琐的工作。 其中构建工具提供的依赖管理能够可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能帮我们导入 B,而不需要我们手动去寻找并导入。 在 Java 项

  • 你需要的就是一套工具,能把你自动化构建的需求表示成可执行的顺序的任务(tasks),比如编译源代码,拷贝生成的class文件,组装交付。每一个任务都是一个工作单元,任务的顺序很重要,我们把任务和相互之间的依赖建模成一种有向无环图,比如下面这个: 有向无环图 包含两个部分: 节点(node):一个工作单元,在这里就是一个任务,比如编译源代码 边(edge): 一个有方向的边,表示相邻节点之间的依赖关