3 releases (breaking)
0.3.0 | Aug 12, 2023 |
---|---|
0.2.0 | Aug 5, 2023 |
0.1.0 | Jul 13, 2023 |
#909 in Science
41KB
677 lines
graphed
graphed
is a library that provides a simple way to create and manipulate graphs in your Rust project. Whether you're working on a data science project, building a recommendation system, or want to visualize your data more intuitively, graphed
makes it easy to get started.
Installation
To use graphed
in your project, you have to add the graphed
crate to your Cargo.toml
file.
[dependencies]
graphed = "0.1.0"
Usage
To create a graph with two nodes (Node 1 and Node 2) and an edge between them with a value of 1, you can do the following:
use graphed::graph::DiGraph;
let mut gr = DiGraph::<&str, usize>::new();
let idx_n1 = gr.add_node("Node 1");
let idx_n2 = gr.add_node("Node 2");
let _ = gr.add_edge(idx_n1, idx_n2, 1);
If you need a custom node or edge struct, e.g., for additional data, you can specify your structs and use them as the generic parameter of the Graph class. An example with a custom node (CustomNode) and a custom edge (CustomEdge) is shown below:
use graphed::graph::Graph;
pub struct CustomNode(usize);
pub struct CustomEdge(usize);
let mut gr = DiGraph::<CustomNode, CustomEdge>::new();
let idx_n1 = gr.add_node(CustomNode(1));
let idx_n2 = gr.add_node(CustomNode(2));
let _ = gr.add_edge(idx_n1, idx_n2, CustomEdge(123));
Contributions
Contributions are welcome! Please open an issue or submit a pull request if you have any improvements to the library.