fdg-img

Crates.iofdg-img
lib.rsfdg-img
version0.4.2
sourcesrc
created_at2022-07-30 19:36:10.907207
updated_at2023-05-31 15:51:56.36216
descriptionA simple SVG renderer for fdg
homepage
repositoryhttps://github.com/grantshandy/fdg/tree/main/fdg-img
max_upload_size
id635699
size200,361
Grant Handy (grantshandy)

documentation

https://docs.rs/fdg-img/

README

fdg-img

A simple SVG renderer for fdg-sim.

Latest version Documentation GPL-3.0

Visit the project page for more information.

Basic Example

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

This library can be used in Javascript though a WASM interface. I'll be setting up a demo for it soon. For now you can see how to use it in the web example.

Commit count: 0

cargo fmt