В типичных проблемах с местоположением объекта у меня есть три объекта (Fi, i = 1,2,3) и шесть узлов (Dj, j = 1,2,3,4,5,6).Я хочу построить все Fi и Dj, а затем соединить узлы Dj с объектами Fi на основе матрицы назначений Xij.
Матрица Xij задается как:
Xij = np.array([[1,0,0,1,1,1],
[0,1,1,0,0,0],
[0,0,0,0,0,0]])
Первая строкаXij показывает, что узлы Dj (j = 0,3,4,5) выделены для объекта Fi (i = 0).Во второй строке показаны узлы Dj (j = 1,2), выделенные второму средству Fi (i = 2).Третья строка показывает, что ни один узел не выделен для объекта Fi (i = 2).
Я пытался сделать это в matplotlib, чтобы отобразить узлы в указанных местах, но не знаю, как их соединить.
fx = np.array([30, 30, 30])
fy = np.array([10, 20, 30])
f = np.vstack((fx, fy))
px = np.array([50, 50, 50, 50, 50])
py = np.array([10, 15, 20, 25, 30])
p = np.vstack((px, py))
plt.scatter(fx,fy, marker='D', s=100)
plt.scatter(px,py, marker='o', s=100)
Затем я прочитал о библиотеке Networkx и попытался построить их как:
G1 = nx.Graph()
G2 = nx.Graph()
Fi = {0: (10,10),
1: (10,20),
2: (10,30)}
Dj ={0: (20,5),
1: (20,10),
2: (20,15),
3: (20,20),
4: (20,25),
5: (20,30)}
nx.draw_networkx(G1, Fi, node_color= 'gray', node_size=500)
nx.draw_networkx(G2, Dj, node_color= 'gray', node_size=300)
Однако, не можете понять, как легко подключить эти узлы в любом инструменте?Данная проблема представляет собой простую версию более крупной сети.