我正在学习在Python 2.7中使用graphviz。在绘制完一个节点后,是否可以更改单个节点的属性?
例如:
from graphviz import Digraph
q = Digraph()
q.node('a')
q.node('b')
q.edge('a','b')
q
是否可以事后更改节点“b”的颜色? 我知道我可以通过以下方式在生成时设置:
q.node('b', color = 'blue')
但是,在生成后,我希望能够更改它。
这个链接在Networkx和Graphviz中给特定节点上色
建议使用图的.node属性来更新字典
G.node[2]['fillcolor']='red'
类比一下,我尝试了一下
q.node['b']['color'] = 'blue'
出现错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-54-43b05071d09a> in <module>()
----> 1 q.node['b']['color'] = 'blue'
TypeError: 'instancemethod' object has no attribute '__getitem__'
我觉得这可能是因为我没有像以前那样使用networkx。我也阅读了graphviz文档(http://graphviz.org/content/attrs),但我的所有实验都失败了。我相信这是一些简单的东西,但我却错过了它... --- 俱乐部里的老人