我刚刚发现了GephiStreamer.https://pypi.python.org/pypi/GephiStreamer
使用这个包可以将指令从python发送到Gephi,在Gephi中创建节点和边缘.
# Create a node with a custom_property
node_a = graph.Node("A",custom_property=1)
# Create edge
edge_ab = graph.Edge(node_a,node_b,custom_property="hello")
stream.add_edge(edge_ab)
Run Code Online (Sandbox Code Playgroud)
同样,我想通过Python在Gephi中完成所有工作.这是我通常做的.
例如:
脚步:
加载节点
加载边缘
计算好的中心性
根据中心分数更改节点的大小/颜色
更改图形布局(例如forceatlas2)
给出输出图
下面是我手动输出的内容,但我想通过从python向Gephi发送指令来生成相同的内容.文档除了创建节点,边和图之外没有任何说明.
我也发现了NetworKit.https://networkit.iti.kit.edu/data/uploads/docs/NetworKit-Doc/python/html/gephi.html
这比gephistramer略好,但这需要python 3.4或更高版本,大多数软件包如pandas,numpy或sickit都在2.7.
还有办法将我在gephi中创建的文件发送回python.
请建议.
PS:我已经编辑了整个问题的详细信息,以便现在更容易理解(希望如此).
我很难用Gephi在屏幕上拖动多个节点.多选按钮允许我选择多个节点但不在屏幕上移动它们.这可能是系统问题(在Mac上运行Ubuntu)吗?我在网上搜索但无济于事.还有其他人有这个问题吗?
我已经下载了Gephi,我现在在Windows中使用它.我已经制作了我的Facebook网络图表,其中有大约469个节点,我面临的问题是我无法清楚地看到标签.它们重叠得太多了.有没有办法可以阻止它?
我有一个网络与ca. 3500个节点和ca. 10000边.我只想显示具有一定权重的节点的标签,例如,所有节点都有超过100个边.我怎样才能做到这一点?
我是JAVA的新手.我在Mac OS X 10.8.2上.使用gephi 0.8.1.我明白了:
echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home
echo $JDK_HOME
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
gephi libs列表:
/Applications/gephi.app/Contents/Resources/gephi/gephi/modules/lib/macosx-universal/libjogl.jnilib
/Applications/gephi.app/Contents/Resources/gephi/gephi/modules/lib/macosx-universal/libjogl_awt.jnilib
/Applications/gephi.app/Contents/Resources/gephi/gephi/modules/lib/macosx-universal/libjogl_cg.jnilib
Run Code Online (Sandbox Code Playgroud)
从点击图标启动gephi将无法正常工作,我需要使用命令行:
./gephi --jdkhome /Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
在此之后我得到'无法加载libjogl_awt.jnilib'
有关我可以做些什么来修复我的JAVA环境的建议 - 或者至少启动gephi?谢谢.
更新:正如gephi论坛中所建议的,我还将/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK链接到/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents并拥有32 Java首选项中的Java首先...
当我导入.gexf文件时,它会标记一堆平行边.我不知道平行边是什么以及为什么我的图有问题.我正在尝试创建一个动态的gephi图.
我有一个庞大的路由器网络,所有路由器都在社区网络中互连.我试图通过不同的方式分析这个网络并获得有用的见解以及通过分析图表(使用gephi)来改进它的方法.所以我遇到了这个称为"模块化"的措施,其定义为:
衡量网络划分为模块(也称为组,集群或社区)的强度.具有高模块性的网络在模块内的节点之间具有密集连接,但是在不同模块中的节点之间具有稀疏连接.
我的问题是,通过使用"模块化"度量,我可以从网络中学到什么?例如,当我在gephi中使用它时,每个网段都会对网络进行着色,但它有什么用呢?
自从我使用Gephi以来已经有一段时间了,但我曾经非常熟悉v 0.8.xx中的所有内容.
我刚刚将节点和边缘文件加载到v0.9.0的全新安装中.它们在数据实验室中显示正常,上下文菜单显示它们存在.但是我的图表上没有显示任何内容,我无法弄清楚原因.
谁能告诉我我做错了什么?
我使用Gephi和NetworkX计算了平均聚类系数.对于同一图表,NetworkX给出0.2399而Gephi给出0.644.
我正在使用Python中的Networkx模块研究pagerank算法。我有一个列表字典,其中字典的关键字是页面的标题,其值是通过该页面引用的所有标题。
因此,为了创建可视化,我首先这样做:
G = nx.DiGraph()
G = nx.from_dict_of_lists(ref_dict)
Run Code Online (Sandbox Code Playgroud)
ref_dict
上面提到的字典在哪里。
创建图后,我正在使用Networkx的write_edgelist
功能以csv格式存储图。
nx.write_edgelist(subG,'PageRanks2.csv')
Run Code Online (Sandbox Code Playgroud)
这就是我的问题。csv文件将边存储为:
节点1节点2 {}节点1节点3 {}
当我直接在Gephi中使用此文件时,它将{}视为节点,并相应地显示可视化。那么,存储networkx图以使其可视化的最佳格式应该是什么?
gephi ×10
networkx ×3
graph ×2
graph-theory ×2
python ×2
edges ×1
java ×1
modularity ×1
nodes ×1