在 Graphviz 中删除一个节点
Delete a Node in Graphviz
有没有一种从图中删除节点的好方法?
我正在使用 graphviz 库创建节点,但它们没有删除节点的功能
目的:
[我想显示一个节点从一个集群移动到另一个集群,但我找不到从旧集群中删除它的方法,而且我无法将它添加到新集群中,因为名称重复]
我得到了使用 pydotplus 库的建议,但是来自 graphviz 和 pydotplus 的对象不能作为子图添加到一个图中,所以如果您确认没有使用 Graphviz 的解决方案,我必须更改整个代码
我找到了一个方法,但不是很好,
每次使用 graphviz 函数时都会在图体中添加 DOT 代码,图体是一个 python 列表,如下所示:
>>> graph=gv.Digraph(format = 'gif')
>>> graph.node('a')
>>> graph.node('b')
>>> print (graph.source)
digraph {
a
b
}
您可以通过以下方式访问正文列表:
>>>graph.body[0]
但输出会像这样
'\ta'
您可以通过两种方式删除它:
>>>del graph.body[0]
如果您确实知道确切的格式,也可以使用删除
>>> graph.body.remove('\ta')
并且使用
很容易知道格式
>>>graph.body[index]
然后构建一个代码来搜索字符串匹配并将它们从图体中删除(如果您像我一样多次为同一集群创建子图)
有没有一种从图中删除节点的好方法? 我正在使用 graphviz 库创建节点,但它们没有删除节点的功能
目的: [我想显示一个节点从一个集群移动到另一个集群,但我找不到从旧集群中删除它的方法,而且我无法将它添加到新集群中,因为名称重复]
我得到了使用 pydotplus 库的建议,但是来自 graphviz 和 pydotplus 的对象不能作为子图添加到一个图中,所以如果您确认没有使用 Graphviz 的解决方案,我必须更改整个代码
我找到了一个方法,但不是很好,
每次使用 graphviz 函数时都会在图体中添加 DOT 代码,图体是一个 python 列表,如下所示:
>>> graph=gv.Digraph(format = 'gif')
>>> graph.node('a')
>>> graph.node('b')
>>> print (graph.source)
digraph {
a
b
}
您可以通过以下方式访问正文列表:
>>>graph.body[0]
但输出会像这样
'\ta'
您可以通过两种方式删除它:
>>>del graph.body[0]
如果您确实知道确切的格式,也可以使用删除
>>> graph.body.remove('\ta')
并且使用
很容易知道格式>>>graph.body[index]
然后构建一个代码来搜索字符串匹配并将它们从图体中删除(如果您像我一样多次为同一集群创建子图)