Как я могу нанести метки для каждого цвета на графике? - сетьx - PullRequest
0 голосов
/ 25 апреля 2019

Я работаю с математическими моделями маршрутизации и хочу построить маршруты некоторых транспортных средств, заданных в оптимальных условиях.Переменная x [i, j, k] является двоичной переменной, которая принимает значение 1 в качестве значения, когда транспортное средство k движется по дуге (i, j).У меня есть оптимальное решение, и я хочу построить его, используя networkx.Я успешно построил маршруты, но хочу пометить их маленькой стрелкой в ​​углу изображения соответствующим цветом.Как я могу это сделать?какие-нибудь идеи?

Это мой фактический вывод:

routing-grpah

Мой код следующий:

def plot_solution():
    V=[i for i in range(N)]
    G=nx.DiGraph()
    G.add_nodes_from(V)
    E=[]
    pos=nx.spring_layout(G,k=0.3)
    color = list(np.random.choice(range(256), size=3))
    number_of_rutas = K
    color = ["#"+''.join([random.choice('0123456789ABCDEF') for j in range(6)]) for i in range(number_of_rutas)]
    for i in range(N):
        for j in range(N):
            for k in range(K):   
                    if(Model.solution.get_values("x("+str(i)+","+str(j)+","+str(k)+")")!=0.0):
            E.append((i,j))
            G.add_edges_from(E)
            nx.draw_networkx_edges(G, pos, edgelist=E, edge_color=color[k], width=1.8 ,arrows=True)
            E=[]
    nx.draw_networkx_nodes(G, pos,node_color='y')
    nx.draw_networkx_labels(G, pos)
    plt.axis('off')
    plt.savefig('grafo_cvrp.png',dpi=2000)
    plt.show()


# show_solution()
plot_solution()

Любая помощь будет хорошо, заранее спасибо: D, привет из Чили, Южной Америки.

...