Gephi设置步骤:
- 安装
Gephi
并启动它
- 您可能想现在升级所有插件,请查看右下角的按钮。
- 现在创建一个新项目。
- 确保当前工作区为
Workspace1
- 启用
Graph Streaming
插件
- 在随后出现的
Streaming
选项卡中配置服务器以使用http
和端口8080
- 启动服务器(然后它将具有绿色的点而不是红色的点)。
Python步骤:
- 安装
gephistreamer
包(pip install gephistreamer
)
将以下Python代码复制到类似friends.py
的文件中:
from gephistreamer import graph
from gephistreamer import streamer
import random as rn
stream = streamer.Streamer(streamer.GephiWS(hostname="localhost",port=8080,workspace="workspace1"))
szfak = 100
cdfak = 3000
nodedict = {}
def addfnode(fname):
if (fname in nodedict):
nnode = nodedict[fname]
else:
nnode = graph.Node(fname,size=szfak,x=cdfak*rn.random(),y=cdfak*rn.random(),color="#8080ff",type="f")
nodedict[fname] = nnode
return nnode
def addnodes(pname,fnodenamelist):
pnode = graph.Node(pname,size=szfak,x=cdfak*rn.random(),y=cdfak*rn.random(),color="#ff8080",type="p")
stream.add_node(pnode)
for fname in fnodenamelist:
print(pname+"-"+fname)
fnode = addfnode(fname)
stream.add_node(fnode)
pfedge = graph.Edge(pnode,fnode,weight=rn.random())
stream.add_edge(pfedge)
person1friends = ['mike','alex','arker','locke','dave','david','ross','rachel','anna','ann','darl','carl','karle']
person2friends = ['mika','adlex','parker','ocke','ave','david','rosse','rachel','anna','ann','darla','carla','karle']
person3friends = ['mika','alex','parker','ocke','ave','david','rosse','ross','anna','ann','darla','carla','karle','sasha','daria']
addnodes("p1",person1friends)
addnodes("p2",person2friends)
addnodes("p3",person3friends)
使用命令 python friends.py
运行它。您将看到所有节点出现。然后有许多方法可以布局,使其看起来更好。在这里我使用了 Force Atlas
布局器,您可以在左侧看到我正在使用的参数。
一些注意事项:
- 您可以通过单击底部状态/控制栏上的
T
来显示或隐藏标签。
- 通过打开
Window/Data Table
,可以查看节点和边中的数据。
- 这是一个非常丰富的程序,有比你想象的更多选项。
- 您可以在 Python 代码中设置更多节点和边的属性,然后它们将显示在数据表视图中,并可用于过滤等操作。
- 您需要注意 Gephi 右下角的更新按钮,因为有很多需要修复的错误。
这将帮助您入门(如您所请求),但对于您的特定问题:
- 您还需要计算人员之间的权重(“p”节点),并使用这些权重将它们链接在一起。
- 然后您需要找到一个布局器和参数,以根据新权重将这些节点定位在所需的位置。
- 因此,您实际上不需要显示 type="f" 的节点,只需要 "p" 节点即可。
- “p”节点之间的权重应基于朋友名称集合的交集。
- 还有 Gephi 插件可以在 3D 中显示它,但那实际上是完全不同的问题,您可能想先在 2D 中让它正常工作。
这在 Windows 10 上使用 Anaconda 4.4.1、Python 3.5.2 和 Gephi 0.9.1 运行。