python(和networkx)的forceatlas2算法

ForceAtlas2的Python项目详细描述


这是gephi的forceatlas2布局算法到python 2和 python 3(带有networkx的包装器)。

安装

唯一严格的依赖是numpy。强烈推荐赛松 根据图表的不同,它将加速10-100倍。 两者都可以安装:

pip install numpy pip install cython

要使用networkx包装函数,显然需要networkx。

然后要安装此软件包,它是典型的:

python setup.py install

示例用法

定义了两个核心功能:

  • forceatlas2.forceatlas2接受邻接矩阵并可选 初始位置和其他可选参数。它用这个来 计算布局。
  • forceatlas2.forceatlas2网络布局 返回与NetworkX兼容的布局。

在NetworkX中使用:

import matplotlib.pyplot as plt import networkx import random import forceatlas2 G = networkx.karate_club_graph() pos = { i : (random.random(), random.random()) for i in G.nodes()} # Optionally specify positions as a dictionary l = forceatlas2.forceatlas2_networkx_layout(G, pos, niter=1000) # Optionally specify iteration count networkx.draw_networkx(G, l) plt.show()

注意,我的编码风格是非pythonic的,因为我不使用函数 文档字符串。你得看看函数定义 在forceatlas2.py中查看所有潜在的 论据。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我能在这个程序中更好地使用内存吗?   为什么我的Java while循环迭代了一半   java IntelliJ IDEA不在构建时复制资源   socket仅在Java TCP服务器输出上检查客户端断开连接   java游戏物理摩擦   java片段onClick调用方法   symja数学分析器中无法识别java Abs[x]   java在使用泛型时创建二进制搜索树类的实例?   java在外键约束表上的添加和删除   语法java表达式的含义,如果有条件   java创建内联对象并作为参数传递   是否有相当于Redis排序集(zset)的Java数据结构   java找不到适合的方法(无参数)   音频文件操作给定字节帧的音量Java   Eclipse4不以JavaWebStart启动   java如何使用org在JSON对象中获取嵌套的键元素。json?   java与Jackson的反序列化:“org.codehaus.Jackson.map.JsonMappingException:无法反序列化[projectname]的实例。”   字符串的Java正则表达式   spring集成上的java检测缺火指令