我是一名有用的助手,可以进行文本翻译。
我有一个Python数据框,想要在Graphviz中可视化。除了我想在绘制网络后更改节点颜色之外,一切都正常。
该数据框类似于以下内容:
这是我得到的图表。 现在我想根据节点是否属于组(df的最后两列)来着色所有节点。如何最好地进行?我不想手动构建节点和边,因为DataFrame相当大。这是我理想情况下希望拥有的,因为A和D属于该组,而B和C则不属于:
我有一个Python数据框,想要在Graphviz中可视化。除了我想在绘制网络后更改节点颜色之外,一切都正常。
该数据框类似于以下内容:
Sender Receiver Amount Sender_Part_Of_Group? Receiver_Part_Of_Group?
A B 88 1 0
C B 71 0 0
B D 32 0 1
D A 26 1 1
我使用 G = nx.convert_matrix.from_pandas_edgelist(df,"Sender","Receiver","Amount", create_using = nx.multiDiGraph())
创建了一个 NetworkX 对象。
然后我使用 dot = nx.nx_pydot.to_pydot(G)
创建了一个 dot 对象。
最后,我执行了以下操作:
from graphviz import Source
sc = Source(dot, filename = "plot", format = "png", engine = "fdp")
sc.render
这是我得到的图表。 现在我想根据节点是否属于组(df的最后两列)来着色所有节点。如何最好地进行?我不想手动构建节点和边,因为DataFrame相当大。这是我理想情况下希望拥有的,因为A和D属于该组,而B和C则不属于: