12 个版本 (6 个破坏性更新)
0.7.0 | 2024年5月2日 |
---|---|
0.6.1 | 2024年3月22日 |
0.5.0 | 2023年6月23日 |
0.4.1 | 2023年4月30日 |
0.1.0 | 2021年4月3日 |
#100 in 可视化
每月45次下载
105KB
1.5K SLoC
ForceAtlas2 Rust
实现 ForceAtlas2 – 力导向连续图布局算法,用于便于网络可视化(即定位多维图中的节点,以便更易于阅读)
示例
安装 Rustup 并切换到夜间模式
rustup toolchain install nightly && rustup default nightly
克隆仓库
git clone https://framagit.org/ZettaScript/forceatlas2-rs && cd forceatlas2-rs
文件 examples/wot.csv
列出有向图的边,在两列中。
GTK 查看器
交互式查看器。您需要安装 GTK。
cargo run --release -p viz -- examples/wot.csv
绑定
存在一个用于 Python 的绑定,fa2rs。
改进
此包先前版本使用手写的 AVX2 代码来加速斥力,速度提高了 16 倍。然而,它仍然是 O(N^2)。现在,斥力的唯一实现使用 Barnes-Hut 算法(四叉树/八叉树,O(NlogN)),这使得任何类型的并行化都变得更加困难(SIMD、多线程、GPU)。一些研究论文描述了并行化四叉树构建的方法,甚至使用 SIMD 或 GPU 来实现它。
许可证
GNU AGPL v3,版权所有 2020-2024 Pascal Engélibert (为什么是 Copyleft?)
实现细节灵感来源于
- python-forceatlas2 (GNU GPL v3,版权所有 2016 Max Shinn)
- python-fa2 (GNU GPL v3,版权所有 2017 Bhargav Chippada)
- Gephi (GNU GPL v3 / CDDL 1.0,版权所有 2011 Gephi 协会)
- sigma.js,Graphology (MIT,Guillaume Plique)
- Anim-Wotmap (Hugo Trentesaux)
ForceAtlas2 论文在 CC BY 下发布,版权所有 2014 Jacomy 等人。
本程序是免费软件:您可以在自由软件基金会发布的 GNU Affero 通用公共许可证的条款下重新分发和/或修改它,许可证版本为 3。
本程序以希望它能被使用为目的进行分发,但没有任何保证;甚至没有关于其商售性或针对特定目的的适用性的隐含保证。有关更多详细信息,请参阅GNU Affero通用公共许可证。
您应该已经收到了GNU Affero通用公共许可证的副本。如果没有,请参见https://www.gnu.org/licenses/。
依赖项
~2–7.5MB
~47K SLoC