首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入.dot文件作为子图

导入.dot文件作为子图
EN

Stack Overflow用户
提问于 2014-10-07 15:05:34
回答 1查看 4.3K关注 0票数 19

是否有可能--通过语言特性或前置器--将外部.dot文件作为子图包含到另一个子图中?

我正在处理一个比较大的图表,虽然是手动维护的,但不是生成的。

如果能够定义一些

subgraph01.dot

代码语言:javascript
复制
digraph subgraph01 {
 /* lot of nodes and edges */
}

subgraph02.dot

代码语言:javascript
复制
digraph subgraph02 {
 /* lot of nodes and edges */
}

然后做一些像graph.dot这样的事情

代码语言:javascript
复制
digraph BigGraph {
    import subgraph01;
    import subgraph02;
    A -> subgraph01.Node1
    A -> subgraph02.Node1
    subgraph01.Node10 -> subgraph02.Node99
    /* etc. */
}

有办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 01:00:22

我马上想到了两个选择。一种是使用宏处理器,例如m4。给定BigGraph.m4

代码语言:javascript
复制
digraph BigGraph {
    define(`digraph',`subgraph')
    include(`subgraph01.dot')
    include(`subgraph02.dot')
    A -> subgraph01.Node1
    A -> subgraph02.Node1
    subgraph.Node10 -> subgraph.Node99
    /* etc. */
}

..。跑步:

代码语言:javascript
复制
$ m4 BigGraph.m4 

..。生产:

代码语言:javascript
复制
digraph BigGraph {
    subgraph subgraph01 {
 /* lot of nodes and edges */
}


    subgraph subgraph02 {
 /* lot of nodes and edges */
}


    A -> subgraph01.Node1
    A -> subgraph02.Node1
    subgraph.Node10 -> subgraph.Node99
    /* etc. */
}

另一个可能允许更复杂的方法的选择是使用来自GraphViz的GraphViz。然而,我尝试用gvpr创建一个示例来实现这一点,但是我没有成功,所以我建议只在需要使用图形感知方法时才尝试它,而不是使用m4的简单方法。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26239194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档