Crates.io | fdg-img |
lib.rs | fdg-img |
version | 0.4.2 |
source | src |
created_at | 2022-07-30 19:36:10.907207 |
updated_at | 2023-05-31 15:51:56.36216 |
description | A simple SVG renderer for fdg |
homepage | |
repository | https://github.com/grantshandy/fdg/tree/main/fdg-img |
max_upload_size | |
id | 635699 |
size | 200,361 |
A simple SVG renderer for fdg-sim
.
Visit the project page for more information.
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();
}
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.