1
NetworkX를 Python으로 사용하려고하는데 지금까지는 좋았지 만 그리기가 어려웠습니다.고정 위치 모서리가있는 그래프 그리기
내 데이터는 실제로 도시의 교차로 목록입니다. 노드는 X, Y (위도, 경도)가있는 교차로이며 모서리는 도로 여야합니다. 지금까지 그렇게 간단합니다.
G = nx.Graph()
for node in nodes:
attributes = dict(node.items())
G.add_node(attributes.pop('id'))
G.node[node.get('id')]['pos'] = attributes.values()
pos = nx.get_node_attributes(G, 'pos')
nx.draw(G,pos)
plt.show()
그것은 다음과 같습니다 :
그래서 나는 고정 된 위치와 내 작은 도시를 그리는 관리 나는 그것을 원하는 정확히 같은을,하지만 난 가장자리를 추가해야합니다. 내가 좋아하는 추가 그래서 경우 : 나는 그것을 문제를 그릴하지 수 있어요 고정 위치를 설정할 수 있지만하지 않는 경우
Traceback (most recent call last):
File "ms/Main.py", line 28, in <module>
nx.draw(G,pos)
File "/usr/local/lib/python2.7/site-packages/networkx/drawing/nx_pylab.py", line 131, in draw
draw_networkx(G, pos=pos, ax=ax, **kwds)
File "/usr/local/lib/python2.7/site-packages/networkx/drawing/nx_pylab.py", line 265, in draw_networkx
edge_collection = draw_networkx_edges(G, pos, **kwds)
File "/usr/local/lib/python2.7/site-packages/networkx/drawing/nx_pylab.py", line 610, in draw_networkx_edges
minx = numpy.amin(numpy.ravel(edge_pos[:, :, 0]))
File "/usr/local/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 2216, in amin
out=out, keepdims=keepdims)
File "/usr/local/lib/python2.7/site-packages/numpy/core/_methods.py", line 29, in _amin
return umr_minimum(a, axis, None, out, keepdims)
TypeError: cannot perform reduce with flexible type
내가 꽤 필요합니다
G = nx.Graph()
for node in nodes:
attributes = dict(node.items())
G.add_node(attributes.pop('id'))
G.node[node.get('id')]['pos'] = attributes.values()
for link in links:
attributes = dict(link.items())
G.add_edge(attributes.pop('from'), attributes.pop('to'))
pos = nx.get_node_attributes(G, 'pos')
nx.draw(G,pos)
plt.show()
나는이 끔찍한 오류 가장자리가 정적이됩니다. 어떤 충고? 고마워요!
'for link in ... '루프 바로 앞의'G.order()'를 확인하십시오. – Joel
인쇄가 시작되기 전에 예상 한 것이지 282 이후인지 여전히 확실하지 않은지 확실하지 않은 경우 282 :) – Atais
흠 ... 문제가 무엇인지에 대한 내 추측을 배제합니다. networkx가 아마도 추가 한 노드와 다른 개체로 가장자리의 끝점을 처리하고 있다고 생각했습니다. – Joel