#svg #graph #renderer #force #directed-graph

fdg-img

fdg 的简单 SVG 渲染器

10 个不稳定版本 (3 个重大更改)

0.4.2 2023年5月31日
0.4.1 2022年9月9日
0.3.0 2022年9月7日
0.2.0 2022年9月6日
0.1.1 2022年7月30日

107可视化 中排名

每月下载量 40

GPL-3.0 许可证

110KB
1.5K SLoC

fdg-img

fdg-sim fdg-sim 的简单 SVG 渲染器。

Latest version Documentation GPL-3.0

访问项目页面获取更多信息。

基本示例

use std::fs;

use fdg_sim::{ForceGraph, ForceGraphHelper, force};

fn main() {
    // initialize a graph
    let mut graph: ForceGraph<(), ()> = ForceGraph::default();

    // create a circle
    let nodes = 10;

    graph.add_force_node("0", ());
    for x in 1..nodes {
        graph.add_force_node(x.to_string(), ());
        graph.add_edge(x.into(), (x - 1).into(), ());
    }
    graph.add_edge(0.into(), (nodes - 1).into(), ());

    // generate svg text for your graph
    let svg = fdg_img::gen_image(graph, None).unwrap();

    // save the svg on disk (or send it to an svg renderer)
    fs::write("ring.svg", svg.as_bytes()).unwrap();
}

screenshot screenshot

Webassembly API

此库可以通过 WASM 接口在 JavaScript 中使用。我很快将为此设置一个演示。目前您可以在 web 示例 中查看如何使用它。

依赖项

~22MB
~274K SLoC