Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Jung定义边或顶点的属性?_Java_Jung - Fatal编程技术网

Java 如何使用Jung定义边或顶点的属性?

Java 如何使用Jung定义边或顶点的属性?,java,jung,Java,Jung,也许这是一个幼稚的问题,但实际上我没有定义图中边或顶点属性的函数 假设我的图是一个DirectedSparseGraph 提前感谢您在JUNG中使用边/顶点属性有几种不同的方法 (以下材料摘自JUNG手册,目前位于 ) JUNG的许多方法都要求用户指定图形元素(顶点或边)与某种类型的数据之间的关联:标签文本、边权重、颜色等。按照惯例,这通常通过转换器完成 Transformer是一个commons collections接口,具有单个方法转换(I输入),该转换为任何输入返回输出类型(O)的对象。

也许这是一个幼稚的问题,但实际上我没有定义图中边或顶点属性的函数

假设我的图是一个DirectedSparseGraph


提前感谢您

在JUNG中使用边/顶点属性有几种不同的方法

(以下材料摘自JUNG手册,目前位于 )

JUNG的许多方法都要求用户指定图形元素(顶点或边)与某种类型的数据之间的关联:标签文本、边权重、颜色等。按照惯例,这通常通过转换器完成

Transformer是一个commons collections接口,具有单个方法转换(I输入),该转换为任何输入返回输出类型(O)的对象。这本质上定义了输入和输出类型元素之间的关系。从某种意义上说,它有点像Map,只是它更轻量级,并且是只读的

有几种不同的方法来编写这些变压器之一。这适用于要求您提供变压器的任何地方

(1) 常量值。实际上有一个ConstantTransformer类(在commons集合中)用于此目的。这对于要求使用转换器的情况非常有用,但实际上所有元素都应获得相同的值(例如,当它是未加权的图形时,提供边权重)

(2) 映射备份--新映射或基于现有映射。有一个MapTransformer类(同样是commons集合)处理这种情况。当您拥有与元素相同数量的不同值时,或者当没有明显的模式将元素与值/输出关联时,这非常有用

(a) 新映射:对于每个元素,在映射中创建(元素、值)对。如果这些值与其他值无关,这可能是合适的……尽管这可能非常罕见

(b) 一个现有的映射:通常你会有一个现有的查找表来完成你所需要的(见下面的注释);不需要创建一个新的

(3) 元素实例变量备份。这与映射备份非常相似,但具有不同的存储模型

(4) 基于动态函数调用(计算、状态报告等)

(5) 上述颜色的组合或变体,例如使用拾取信息确定使用哪种颜色的变压器

请注意,在上述任何情况下,转换器都可以执行一个进程(映射、实例变量、函数调用),该进程输出您想要的以外的内容(例如,浮点值),并将其转换为适当类型的值(例如,绘制)。例如,假设要将顶点绘制为红色(如果它们具有高PageRank),黄色(如果它们具有中等PageRank),黑色(如果它们具有低PageRank)。您可以轻松地构造一个Transformer类,该类接受PageRank数据(可能是您提供给构造函数的Transformer本身提供的),计算出您想要的三个间隔中的哪一个,然后在为其指定顶点时输出适当的颜色。更进一步,编写一个基于阈值的通用转换器将非常容易,该转换器将阈值转换为颜色作为其构造函数参数

这确实是关于在JUNG中使用变压器的关键洞见:我们试图以一种方式使用它们,这意味着您要做的工作尽可能少,以便运行一个算法,其中边缘权重基于事件顶点(代表作者)合著的论文数,或者创建顶点颜色是活动级别函数的可视化