xi123的个人博客分享 http://blog.sciencenet.cn/u/xi123

博文

Gephi中动态网络的构建

已有 14261 次阅读 2017-11-27 14:44 |个人分类:社会网络学习|系统分类:科研笔记

在gephi中建立动态网络的两种方法:

一、Converting a network with dates into a dynamic network


 从外部导入csv文件,包括节点数据文件和边数据文件,其中节点数据或边数据带有时间列,然后将存在的时间列转化为一个时间区间,具体步骤下:

 

步骤一:将数据导入gephi


步骤二:点击合并列按钮

步骤三:如下图从左边的框中选择所需要的列放入右边框中建立时间区间,如果存在开始时间和结束时间,可以两列一起选。

步骤四:步骤三点击ok后进入下图,对时间区间进行设置,明确开始时间和结束时间,若开始时间选择空白,则默认从负无穷开始,同理若结束时间选择空白,则默认到正无穷结束。如果数据列的数据类型为数值型则选择解析数字(Parse numbers),若为时间字符串则选择解析日期(Parse dates)。(Select which column is the start and which is the end, leave blank if no end. If the column is numerical (integer, float, double), select Parse numbers. If the data are date strings, they can also be parsed and transformed into a time interval. )

在建立动态网络时,考虑一下两点:

  1. nodes appearing on screen at their start date, and staying on screen for ever after?

  2. nodes appearing on screen at their start date, and leaving the screen at their end date?


二、Import from GEXF File


直接生成动态网络文件gexf,然后在gephi中打开。

步骤一:gexf文件格式介绍[6 7 8 9]

  • GEXF (Graph Exchange XML Format) 是一种描述复杂网络的语言,包括复杂网络的结构,数据等等。最初是由Gephi项目2007年确立。

  • 适用范围:只是适用于图的表示。这也是其优势所在的地方。

  • xml特性:Gexf是XML的一种形式,只不过加入了一些限制,使其更加适用于图的表示,要按照一定的xml格式来进行编写。(当遇到一些问题的时候,不仅仅要关注gexf的要求,同时还要关注xml的要求)

  • 格式举例说明,如图

   (1)第一行是xml的声明,xml的版本,编码格式。
   (2)第二行,是一个根结点,根节点是gexf结点类型,这是gexf的特色所在。(Xml文档只充许有一个根结点
   (3)图:一个gexf中是可以有多个图的。所以graph元素可以作为gexf的子节点。
   (4)图的组成:图是有结点和边来组成的。gexf中一般是先说明结点(nodes),然后再建立结点间的关系(edges)。
   (5)id元素:在gexf所构成的空间中,最终这个东西刻画需要具有一定的准确性,未进行空间内的区分,需要为不同的结点分配一定的id.元素的id的存在,使得结点可以相互区分,那样子边也就可以建立起来了,否则建立的边可能具有歧义。
   (6)XML的非法字符 在下面lable中是不能存在”<”,”&”,这些字符在xml中是非法的。(原因:“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。“&” 会产生错误,因为解析器会把该字符解释为字符实体的开始。


步骤二:使用python生成gexf文件[5]

   到网站https://github.com/paulgirard/pygexf下载相应的包;

   使用python setup.py install进行安装;

   测试是否可用,发现需要依赖包lxml;

   使用pip install lxml安装lxml;

   测试代码http://www.cnblogs.com/1zhk/p/4755145.html


Gephi中的例子:

 在gephi中建立动态网络后,Gephi中会自动打开时间轴,可以自己设置时间区间,并且可以使用鼠标拖动时间区间,如下图所示,点击播放可以自动生成动画。The timeline opens automatically when you open a dynamic network. Enable the timeline to set the time interval. Drag the bounds of the interval using your mouse.Move left and right cursors to filter the graph on time intervals.

image




资料来源:

[1]https://github.com/gephi/gephi/wiki/Import-Dynamic-Data

[2]https://github.com/gephi/gephi/wiki/GUI

[3]https://seinecle.github.io/gephi-tutorials/generated-html/creating-a-simple-dynamic-network.html

[4]https://seinecle.github.io/gephi-tutorials/

[5]http://blog.csdn.net/pku1200012850/article/details/78239490

[6]http://blog.csdn.net/thesnowboy_2/article/details/53506006

[7]https://gephi.org/gexf/format/(gexf权威官网)

[8]http://www.runoob.com/xml/xml-cdata.html(xml教程官网)

[9]http://w3school.com.cn/schema/index.asp(xml schema教程官网)

[10]http://blog.csdn.net/sinat_23137713/article/details/51134867(使用gephi绘制动态网络)




https://blog.sciencenet.cn/blog-3360373-1087070.html

上一篇:强化学习简介
下一篇:python中几类文件的读写
收藏 IP: 101.64.179.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-27 08:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部