Expand description


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.


The style for shapes and text, font, color, etc.


Parameters for drawing the SVG image.


Generate an image from a graph and a force.