我已經熟悉Python 2.7中的graphviz。是否可以在繪製單個節點後更改其屬性?Graphviz/Python:在生成單個節點後重新着色
例如
from graphviz import Digraph
q = Digraph()
q.node('a')
q.node('b')
q.edge('a','b')
q
是否有可能改變節點 'B' 的顏色事後?我知道我可以設置在一代時
q.node('b', color = 'blue')
但是,我想能夠改變它後生成它。
此鏈接Color a particular node in Networkx and 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 但我的實驗都沒有奏效。我敢肯定,這是簡單的事情,但我失蹤了......
---老傢伙在俱樂部
我嘗試了一些使用networkx的實驗 - 它有一些非常好的功能,但我想到的幾件事情似乎比純graphviz更復雜一點。您將節點類別更新爲批處理的想法聽起來像是我最終想要做的一個好方法。我會嘗試這條路線。感謝您的及時回覆。 – OldGuyInTheClub