【发布时间】:2019-10-25 23:07:26
【问题描述】:
我有一个很大但不是很大(?)的图,有 13 个子图集群,包含大约 100 个节点和 3,147 条边。
Windows 上的 Dot 崩溃和 Linux 上的段错误。
This question 建议解决方案是使用neato,而不是dot。
但是,this page 说
请注意这里有一些怪癖......只有 DOT 和 FDP 布局方法似乎支持子图
无论我放大多远,我的输出都是一个巨大的黑色意大利面球。所以我删除了除一条以外的所有消息,这表明子图形似乎是相互嵌套绘制的。
它们绝对不会嵌套在源文件中;这是一个示例,更改了商业敏感名称:
digraph G {
labelloc="t"; // place the label at the top (b seems to be default)
label="XXX message passing";
rankdir = "LR"
newrank = "true"
subgraph cluster_AAA {
label="AAA"
rank="same"
AAA_1
}
subgraph cluster_BBB {
label="BBB"
rank="same"
BBB_1
BBB_2
}
subgraph cluster_CCC {
label="CCC"
rank="same"
CCC_1
CCC_2
CCC_3
}
这在语法上似乎是正确的(边缘紧随其后)。
所以,链接页面似乎是正确的:
似乎只有 DOT 和 FDP 布局方法支持子图
但是,我似乎也需要一个大图的neato。
我有什么选择?
[Updtae] 我跑了fdp 并收到以下错误消息
错误:节点“xxx”包含在两个不可比较的集群“AAA”和“BBB”中
这似乎提供了一个线索。一个节点名真的不能在两个集群中使用吗?
如果是这样,解决方案似乎是在节点名称之前加上集群名称......
【问题讨论】: