1 个不稳定版本
0.1.0 | 2024年6月27日 |
---|
#132 在 数据格式
用于 irox
69KB
1K SLoC
IROX-DOT
DOT 图形描述语言编写器,兼容 GraphViz
支持 No-STD
- 需要
std
功能
- 无
示例
use irox_dot::*;
fn main() -> Result<(), irox_bits::Error> {
let mut graph = Graph::named("TestGraph");
graph.graph_type = GraphType::Digraph;
// add a top-level graph attribute
graph.add_graph_attr("landscape", "true");
// add a basic node with no attributes
graph.add_node(Node::new("Node 1"));
// add an edge
graph.add_edge(Edge::new(&graph, "Node 1", "Node 2"));
let mut out = String::with_capacity(256);
graph.write_to(&mut out)?;
println!("{out}");
Ok(())
}
产生
digraph TestGraph {
landscape=true
"Node 1"
"Node 1" -> "Node 2"
}
lib.rs
:
DOT 图形描述语言编写器,兼容 GraphViz
示例
#
let mut graph = Graph::named("TestGraph");
graph.graph_type = GraphType::Digraph;
// add a top-level graph attribute
graph.add_graph_attr("landscape", "true");
// add a basic node with no attributes
graph.add_node(Node::new("Node 1"));
// add an edge
graph.add_edge(Edge::new(&graph, "Node 1", "Node 2"));
let mut out = String::with_capacity(256);
graph.write_to(&mut out)?;
println!("{out}");
assert_eq!(out, "\
digraph TestGraph {\n\
\tlandscape=true\n\
\t\"Node 1\" \n\
\t\"Node 1\" -> \"Node 2\" \n\
}\n"
);