如何将图形从NetStream保存到gexf文件?

时间:2013-06-10 16:17:12

标签: java netstream netlogo gephi

我正在尝试从NetLogo do * .gexf文件中保存GraphStream / NetStream。图形具有恒定数量的边和顶点。正在改变的是节点/'乌龟'的参数。目前,在每次打勾后,我使用以下命令从NetLogo向2012年端口上的localhost发送信息:

gs:add-sender "sender" "localhost" 2012

我可以在java项目中收到GraphStream:

创建CumulativeGraphAnalyser的实例

NetStreamReceiver receiver = new NetStreamReceiver(2012);
new CumulativeGraphAnalyser(receiver, null);

这是CumulativeGraphAnalyser类

public class CumulativeGraphAnalyser extends SinkAdapter{
private NetStreamSender sender;
private Graph graph;
private String mySourceId;
private long myTimeId;
private int round;

public CumulativeGraphAnalyser(NetStreamReceiver receiver, NetStreamSender sender) {
    this.sender = sender;
    graph = new SingleGraph("cumulative graph", false, false);
    ProxyPipe pipe = receiver.getDefaultStream();
    pipe.addElementSink(graph);
    pipe.addElementSink(this);


    round = 1;
    mySourceId = toString();
    myTimeId = 0;
}

@Override
public void stepBegins(String sourceId, long timeId, double step) {

    for (Node node : graph.getNodeSet()){
        node.getAttribute("node-id");
        node.getAttribute("infected");
        (...)

    }
    System.out.println(round++);
}
}

我在'graph'变量中需要的所有信息,但我不知道如何将GraphStream保存到文件(* .gxef),然后在Gephi中导入它。另一个选择是直接从localhost:2012读取Gephi中的GraphStream。我找到了插件,它假设要处理这个任务,但我不知道如何正确使用它。 我已经搜索并阅读了很多关于这个问题的信息,我试图实现一些解决方案,但没有一个没有解决。

0 个答案:

没有答案