#attributes #graph #generate #language #defined #value #allowed

dotavious

用于生成图形DOT语言文件的库

3个不稳定版本

0.2.1 2021年11月6日
0.2.0 2021年3月25日
0.1.0 2021年3月23日

#241 in 可视化

24 每月下载次数

MIT 协议

155KB
3K SLoC

Dotavious

crates.io Released API docs MIT licensed CI

用于生成GraphvizDOT语言文件的库,用于图形可视化。

限制/局限性

  • 并非每个属性都有完整的文档/描述。然而,所有具有特定允许值的属性都应涵盖在内。
  • 已弃用的属性未定义。

快速入门

use dotavious::{Dot, Edge, Graph, GraphBuilder, Node};
use std::io;
use std::io::Read;

// can also start building a named undirected graph via `GraphBuilder::new_named_undirected`
let graph = GraphBuilder::new_named_directed("example")
        .add_node(Node::new("N0"))
        .add_node(Node::new("N1"))
        .add_edge(Edge::new("N0", "N1"))
        .build()
        .unwrap();

let dot = Dot { graph };
println!("{}", dot);

which produces

digraph example {
    N0;
    N1;
    N0 -> N1;
}

并且渲染后将看起来像

README example rendered

依赖项

~1MB
~16K SLoC