7 个稳定版本
3.1.0 | 2024 年 7 月 7 日 |
---|---|
3.0.0 | 2021 年 8 月 28 日 |
2.0.1 | 2020 年 2 月 4 日 |
1.0.2 | 2018 年 5 月 15 日 |
#66 在 科学
每月 78 次下载
在 pmrs 中使用
20KB
259 行
GraphML 输出支持 petgraph
此 crate 在 petgraph 中扩展了 GraphML 输出支持。
此 crate 导出了一个类型 GraphMl
,它结合了配置的构建模式,并提供创建字符串 (GraphMl::to_string
) 和写入写入器 (GraphMl::to_writer
) 的功能。
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
petgraph-graphml = "3.1.0"
示例
对于类似 的简单图,这是生成的 GraphML 输出。
let graph = make_graph();
// Configure output settings
// Enable pretty printing and exporting of node weights.
// Use the Display implementation of NodeWeights for exporting them.
let graphml = GraphMl::new(&graph)
.pretty_print(true)
.export_node_weights_display();
assert_eq!(
graphml.to_string(),
r#"<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<graph edgedefault="directed">
<node id="n0">
<data key="weight">0</data>
</node>
<node id="n1">
<data key="weight">1</data>
</node>
<node id="n2">
<data key="weight">2</data>
</node>
<edge id="e0" source="n0" target="n1" />
<edge id="e1" source="n1" target="n2" />
</graph>
<key id="weight" for="node" attr.name="weight" attr.type="string" />
</graphml>"#
);
许可
根据您的选择,许可协议为以下之一
- Apache 许可证第 2 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则任何有意提交给作品并由您定义的 Apache-2.0 许可证包含的贡献,都应按上述方式双许可,无需任何额外的条款或条件。
依赖关系
~2.5MB
~34K SLoC