Gephi API学习笔记1

Gephi API学习笔记1

记录使用Gephi API的学习笔记。

环境配置

  • 安装好JDK环境
  • 安装NetBeans IDE
  • 将gephi-toolkit-0.9.2-all.jar下载完成

下载与安装

  • JDK的配置

下载安装过程略去,详细可参考其他Java环境安装配置的教程

  • NetBeans IDE的下载与安装

下载链接:https://netbeans.org/downloads/index.html,这里有很多不同的下载包,选择适合自己系统的其中一个即可,这里我选择的是Java EE

安装时,按提示一路安装下去即可。

  • gephi-toolkit-0.9.2-all.jar的下载

下载链接:https://gephi.org/toolkit/

将gephi-toolkit作为jar包导入库

  • 新建一个Java应用程序后,在库(library)里右键添加JAR/文件夹然后找到下载的gephi-toolkit文件的jar包即可

一个简单示例

接下来展示一个简单示例,其中Gephi所需的绘图数据文件需要其他放置到相应文件夹中:

在NetBeans IDE中新建一个Java应用,导入gephi-toolkit.jar包后,创建一个主类,这里我将其命名为GephiTestDemo.java。其代码内容为:

package gephitestdemo;

/**
 * @author Qi
 */
public class GephiTestDemo {
    public static void main(String[] args) {
        GephiDemo g = new GephiDemo();
        g.Run();
    } 
}

继续新建一个Java文件名叫GephiDemo.java其代码内容为:

package gephitestdemo;

import java.io.File;
import org.gephi.graph.api.DirectedGraph;
import org.gephi.graph.api.GraphController;
import org.gephi.graph.api.GraphModel;
import org.gephi.io.importer.api.Container;
import org.gephi.io.importer.api.EdgeDirectionDefault;
import org.gephi.io.importer.api.EdgeMergeStrategy;
import org.gephi.io.importer.api.ImportController;
import org.gephi.io.processor.plugin.AppendProcessor;
import org.gephi.io.processor.plugin.DefaultProcessor;
import org.gephi.project.api.ProjectController;
import org.gephi.project.api.Workspace;
import org.openide.util.Lookup;
import org.openide.util.Utilities;

/**
 *
 * @author Qi
 */
public class GephiDemo {
    
    GephiDemo(){
        
    }
    
    /**
     *运行程序
     */
    public void Run(){
         //Init a project - and therefore a workspace
        ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
        pc.newProject();
        Workspace workspace = pc.getCurrentWorkspace();
        //Get controllers and models
        ImportController importController = Lookup.getDefault().lookup(ImportController.class);
        //Get models and controllers for this new workspace - will be useful later
        GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
        //Import file
        Container container,container2;
        try {
            File file_node = new File(getClass().getResource("./resources/Critical Power for Asymptotic Connectivity in Wireless Networks/Nodes.csv").toURI());
            container = importController.importFile(file_node);
            container.getLoader().setEdgeDefault(EdgeDirectionDefault.DIRECTED);   //Force DIRECTED
            container.getLoader().setAllowAutoNode(false);  //create missing nodes
            container.getLoader().setEdgesMergeStrategy(EdgeMergeStrategy.SUM);
            container.getLoader().setAutoScale(true);

            File file_edge = new File(getClass().getResource("./resources/Critical Power for Asymptotic Connectivity in Wireless Networks/Edges.csv").toURI());
            container2 = importController.importFile(file_edge);
            container2.getLoader().setEdgeDefault(EdgeDirectionDefault.DIRECTED);   //Force DIRECTED
            container2.getLoader().setAllowAutoNode(false);  //create missing nodes
            container2.getLoader().setEdgesMergeStrategy(EdgeMergeStrategy.SUM);
            container2.getLoader().setAutoScale(true);

        } catch (Exception ex) {
            ex.printStackTrace();
            return;
        }
        //Append imported data to GraphAPI
        importController.process((org.gephi.io.importer.api.Container) container, new DefaultProcessor(), workspace);
        importController.process((org.gephi.io.importer.api.Container) container2, new AppendProcessor(), workspace); //Use AppendProcessor to append to current workspace
        //See if graph is well imported
        DirectedGraph graph = graphModel.getDirectedGraph();
        System.out.println("Nodes: " + graph.getNodeCount());
        System.out.println("Edges: " + graph.getEdgeCount());
    }
    
}

运行正常的话,这里会输出节点数目与边的数目。

但如果导入节点文件后再导入边文件,会导致最后统计的节点数目为原来的两倍,这里我也不知道为什么。可以尝试只导入边文件来将度为0的节点忽略掉,这样不会导致节点重复的。

参考

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Gephi-toolkit是Gephi数据可视化软件的一个插件集,可以用于自动化处理和分析图形数据。入门学习Gephi Toolkit需要掌握以下几个步骤: 1. 确定学习目标:首先要确定学习Gephi Toolkit的目标,是想用它来进行数据分析、构建可视化网络图还是其他功能。明确学习目标有助于更有针对性地学习。 2. 下载和安装Gephi:访问Gephi官方网站并下载最新版本的软件包。下载完成后,按照安装向导的指引完成安装过程。 3. 学习Gephi基础知识:在开始使用Gephi Toolkit之前,要先掌握Gephi的基础知识,了解如何导入和处理数据、创建节点和边等操作。可以通过阅读用户手册、官方文档或者在线教程来学习。 4. 学习Gephi Toolkit的API文档:Gephi Toolkit提供了一套功能强大的API,用于数据导入、图形操作、算法计算等。通过阅读和理解API文档,可以了解每个方法的功能和用法,从而灵活运用Toolkit进行数据分析和可视化。 5. 编写示例代码:理解了Gephi Toolkit的基本概念和API后,可以尝试编写一些简单的示例代码来熟悉和掌握Toolkit的使用。可以从导入数据、创建图形对象,到执行算法计算、生成可视化图形等进行实践。 6. 深入学习和实践:除了基础知识和示例代码,还可以通过阅读更深入和高级的教程、参与社区讨论、查阅相关论文等方式来扩展对Gephi Toolkit的理解和应用。 总之,学习Gephi Toolkit需要掌握Gephi的基础知识和API文档,通过编写示例代码和深入学习来不断提高。希望上述步骤能帮助您入门学习Gephi Toolkit。 ### 回答2: Gephi-toolkit是一个用于分析和可视化网络数据的工具包,它基于Gephi这个流行的网络分析和可视化软件。对于想要入门学习Gephi-toolkit的人来说,以下是一些建议。 首先,了解Gephi工具包的基本概念和功能。Gephi-toolkit提供了许多功能,包括网络导入、数据预处理、节点和边的属性设置、布局算法等。通过阅读相关文档和教程,理解这些基本功能对于后续的学习和使用非常重要。 其次,安装并配置Gephi-toolkit。Gephi-toolkit是一个Java库,所以首先确保你已经安装了Java开发环境。然后,下载Gephi-toolkit的最新版本,并将其添加到你的开发项目中。通过正确配置相关库和依赖项,你将能够在你的开发环境中使用Gephi-toolkit进行编程和分析。 接下来,学习如何使用Gephi-toolkit进行网络数据的处理和分析。你可以通过阅读Gephi-toolkit的官方文档、查看示例代码和教程,掌握如何导入网络数据、创建节点和边、应用算法进行分析等。同时,也可以加入Gephi-toolkit的用户社区并参与讨论,与其他用户一起分享经验和解决问题。 最后,进行实际的项目和实践。通过使用Gephi-toolkit进行实际的网络数据分析和可视化项目,你将能够更好地理解和掌握该工具包。实践中可能会遇到各种问题和挑战,但通过不断的尝试和学习,你将逐渐掌握Gephi-toolkit的各种功能和技巧。 总结来说,学习Gephi-toolkit需要有一定的编程和数据分析的基础,但通过阅读文档、教程和实际项目的实践,你将能够逐渐掌握和运用这个强大的网络分析和可视化工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值