3个版本
0.1.2 | 2024年2月28日 |
---|---|
0.1.1 | 2022年10月29日 |
0.1.0 | 2022年10月29日 |
#26 in 可视化
5,626 每月下载量
用于 9 个crate(6 个直接使用)
185KB
4.5K SLoC
布局
Layout是一个Rust库和独立的实用工具,用于绘制图形。Layout可以解析Graphviz dot文件并将它们渲染出来。
库使用方法
将以下内容添加到Cargo.toml
layout-rs = "0.1.1" # or
layout-rs = { version = "0.1.1", features = ["log"] }
加载、解析并打印抽象语法树(AST)
use layout::gv;
let contents = "digraph { a -> b [label=\"foo\"]; }";
let mut parser = gv::DotParser::new(&contents);
match parser.process() {
Ok(g) => gv::dump_ast(&g),
Err(err) => {
parser.print_error();
# #[cfg(feature = "log")]
log::error!("Error: {}", err);
}
}
上面的示例将打印程序AST或可读的错误消息,例如
digraph {
node [fillcolor="purple"] A B;
node [fillcolor="orange"] Z;
node [fillcolor="green"] G; a = ;
^
Error: Expected an identifier.
命令行使用
使用命令构建crate并渲染一些dot文件
cargo run --bin run ./inputs/bk.dot -o output.svg
画廊
本节展示了从dot文件渲染的几个图形
一个简单的图形。
一个具有多个形状和标签的简单图形。
具有一些样式属性的图形。
一个展示边缘交叉消除优化的大型图形。
支持Unicode、emoji和从右向左的语言
支持记录(嵌套结构)
调试模式渲染,有助于可视化布局决策