Я новичок в NetworkX
, и мне нужно найти расстояние между двумя узлами. Я дал ему идти, но большинство поисков приводит к , Dijkstra
и т. Д. Подходам, что не является моей точкой. Мне нужно только евклидово расстояние между двумя наборами координат, где последние представляют собой узлы на графике.Расстояние между узлами, использующими сеть pythonx
1
A
ответ
0
Вы можете сделать это очень легко, как указано выше. Все, что вам нужно сделать, это реализовать Euclidean distance formula внутри for loop
, который выполняет итерацию по всем узлам вашего графика. Технически приведенный ниже фрагмент фокусируется на edges
, но их длина именно то, что вы ищете: расстояние между узлом A и узлом B (начало и конечная точка).
Вы можете сохранить результаты в dictionary
, если вам нужно провести дополнительный анализ, например, вычислить распределение длины краев.
import networkx as nx
import math
#Create a test graph
m=2 #Number of initial links
n=100 #Number of nodes
ncols=10 #Number of columns in a 10x10 grid of positions
G=nx.barabasi_albert_graph(n, m, j)
pos = {i : (i // ncols, (n-i-1) % ncols) for i in G.nodes()}
#Compute the node-to-node distances
lengths={}
for edge in G.edges():
startnode=edge[0]
endnode=edge[1]
lengths[edge]=round(math.sqrt(((pos[endnode][1]-pos[startnode][1])**2)+
((pos[endnode][0]-pos[startnode][0])**2)),2) #The distance
Если после этого вы хотите, чтобы вычислить распределение длины края, вы можете использовать это:
import pandas as pd
items=sorted(lengths.items())
values=lengths.values()
df = pd.DataFrame({'Lengths':values})
df['Lengths'].hist(df, bins=10) #Change to as many bins as you want/need
Смежные вопросы
- 1. igraph; расстояние между узлами
- 2. Как измерить расстояние между узлами
- 3. Networkx: получить расстояние между узлами
- 4. Найти расстояние пути между узлами сети?
- 5. Расстояние между узлами в двоичном дереве?
- 6. Максимальное расстояние между двумя узлами в дереве
- 7. C++ пытается найти расстояние между двумя узлами
- 8. вычислить расстояние между двумя узлами в графе
- 9. Как указать расстояние между узлами в Cytoscape.js?
- 10. Расстояние между двумя узлами в дереве, взвешенным
- 11. jquery DOM расстояние между двумя узлами
- 12. R: получить расстояние между узлами с sp.between
- 13. Вычислить расстояние между узлами в AdjacencyMatrix
- 14. Найти расстояние в графах между узлами
- 15. Как измерить расстояние между двумя устройствами iphone, использующими bluetooth?
- 16. Разграничение между границами между узлами
- 17. как изменить расстояние между узлами d3 в силовом расположении
- 18. Graphviz: Расстояние между краями и переданными узлами с neato
- 19. Найти кратчайшее расстояние между узлами в следующем графике
- 20. Найти расстояние между двумя узлами в неориентированном и невзвешенном графике
- 21. Как найти евклидово расстояние между 4 различными узлами
- 22. Spritekit - Увеличивает скорость и сохраняет одинаковое расстояние между узлами спрайтов?
- 23. Определить расстояние между двумя случайными узлами в дереве
- 24. Как настроить расстояние между двумя узлами с помощью SKConstraint?
- 25. Минимизировать общее расстояние, используя k связей между n узлами
- 26. Поддерживает динамическое расстояние между узлами, находящимися в силе. D3.js
- 27. Neo4j: Есть ли быстрый способ получить расстояние между двумя узлами?
- 28. NetSim - расстояние между узлами датчиков и различными агентами?
- 29. Укажите минимальное расстояние между узлами в диаграмме infoVis JIT
- 30. Как найти расстояние между двумя наиболее широко разделяемыми узлами
ли базовый граф имеет ничего общего с расстояниями, которые вы хотите вычислить? Например. для выбора точек? Если нет, то вам просто нужно вычислить '((p1.x-p2.x) ** 2 + (p1.y-p2.y) ** 2 + (p1.z-p2.z) ** 2) ** 0.5' для пары координат '(p1, p2)', которую вы интересуете? – Bonlenfum
Спасибо, позвольте мне попробовать. – Amanda