我试图使用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是&#39;键入a&#39; < / strong>和1,3,5是&#39;类型b&#39; 。我使用append函数将它们附加到两个不同的节点列表。所以现在我有两个不同的节点列表: type_a 和 type_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)
我的问题是能够在分配节点时将节点位置分配给节点。我如何分配&#39; pos&#39;将节点附加到两个不同的列表?
这种方法给我一个错误如下:
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.
答案 0 :(得分:1)
显然,图表export class Page{
inputValue:string;
constructor(){
console.log(this.inputValue)
}
}
中的节点是数字字符串,即G
...而不是整数'0', '1','2'
...但是,您使用{定义位置{1}}使用整数而不是字符串。尝试如下定义您的位置,它应该工作
0,1,2