Force Atlas 2图形布局

fa2l的Python项目详细描述


forceatlas2是一种方便网络可视化的连续图形布局算法。

这个实现基于这个paper

警告:某些功能(特别是防止重叠)没有完全实现。我在等你的请求。

使用Force Atlas 2布局呈现的社交图示例:

https://raw.githubusercontent.com/bosiakov/fa2l/master/_static/result.jpg

安装

支持Python3.3+

从PIP安装:

pip install fa2l

要生成和安装,请从源代码运行:

python setup.py install

用法

importnetworkxasnxfromfa2limportforce_atlas2_layoutimportmatplotlib.pyplotaspltG=nx.erdos_renyi_graph(100,0.15,directed=False)positions=force_atlas2_layout(G,iterations=1000,pos_list=None,node_masses=None,outbound_attraction_distribution=False,lin_log_mode=False,prevent_overlapping=False,edge_weight_influence=1.0,jitter_tolerance=1.0,barnes_hut_optimize=True,barnes_hut_theta=0.5,scaling_ratio=2.0,strong_gravity_mode=False,multithread=False,gravity=1.0)nx.draw_networkx(G,positions,cmap=plt.get_cmap('jet'),node_size=50,with_labels=False)plt.show()

功能

Force Atlas 2具有以下设置:

    <Li>{EM1}近似斥力:巴尼斯HUT优化:n~Ln(n)的复杂度。
  • gravity:将节点吸引到中心。防止岛屿漂移。
  • 劝阻集线器:沿出站边缘分布吸引力。枢纽吸引较少,因此被推向边界。
  • lin log mode:将forceatlas模型从lin-lin切换到lin-log。使簇更加紧密。
  • 防止重叠。警告!工作不太好。
  • tolerance:允许多少摆动。以上1人气馁。更低的速度和更高的精度。
  • edge weight influence:您对边权重的影响有多大。0表示“无影响”,1表示“正常”。

文档

您将在源代码中找到所有文档

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

推荐PyPI第三方库


热门话题
java操作数组上的字符串   java JAXB内容未实例化   图形在Java中如何绘制垂直居中的字符串?   java Apache Ant:使用Junit时出现NoClassDefFoundError   java无法从服务器上运行perl脚本   如何在java中沿树进行预排序遍历,并打印0和1以对应每个节点上的特定字符?   java如何创建。p12文件?   java线程访问无效   java只匹配命名空间中的XML节点,而不知道NS前缀   从java获取2d arraylist元素   数组Java动态集合对象   java Xpath通过通配符或布尔运算查找以相同名称开头的节点?   java注释元素类型   java在中看不到Super()。反编译后的类文件