gpt4 book ai didi

python - "node ' 0 ' has no position - problems with allocating node positions to ' networkX/Python 中的节点类型

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:56 24 4
gpt4 key购买 nike

我正在尝试使用 networkX 绘制图表。

我将精确位置定义为:

pos={0:(40,100), 1:(50,100), 2:(45,80), 3:(55,80), 4:(50,60), 5:(50,40), 6:(50,20)}

然后我将节点分为两种“类型”,所以假设节点 0、2、4、6 是“类型 a”,节点 1、3、5 是”输入 b'。我使用附加函数将它们附加到两个不同的节点列表。所以现在我有两个不同的节点列表:type_atype_b并且可以绘制它们 - 例如使用:

nx.draw_networkx_nodes(G, pos, nodelist=type_a, node_size=2000,node_shape="s", node_color='g', labels=exploit_node_labels, with_labels=True, alpha=1)

我的问题是能够在分配节点时将节点位置分配给节点。如何在将节点附加到两个不同列表时分配“pos”?

这种方法给我一个错误,如下所示:

nx.draw_networkx_nodes(G, pos, nodelist=type_a, node_size=2000,node_shape="s", node_color='g', labels=exploit_node_labels, with_labels=True, alpha=1)
File "C:\Program Files\Python36\lib\site-packages\networkx\drawing\nx_pylab.py", line 386, in draw_networkx_nodes
raise nx.NetworkXError('Node %s has no position.'%e)

networkx.exception.NetworkXError: Node '0' has no position.

最佳答案

显然,图中的节点G是数字字符串,即'0'、'1'、'2'...而不是整数0,1,2... 但是,您使用整数而不是字符串来使用 pos 定义位置。尝试按如下方式定义您的位置,它应该有效

pos={'0':(40,100), '1':(50,100), '2':(45,80), '3':(55,80), '4':(50,60), '5':(50,40), '6':(50,20)}

关于python - "node ' 0 ' has no position - problems with allocating node positions to ' networkX/Python 中的节点类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44824995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com