For the following code:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
#Set 1
G.add_edges_from([('A','B'),('A','C'),('C','B')])
#Set 2
G.add_edges_from([('D','A'),('D','B'),('D','C')])
#Set 3
G.add_edges_from([('E','D'),('E','B'),('E','C')])
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos, node_size=500, node_color = 'green')
nx.draw_networkx_edges(G,pos, edgelist = G.edges())
plt.show()
I want to add weights to the edges. To my understanding, the weights are just 1 for all the edges. I want to modify the weights of every single edge in the graph.
From the follow documentation, I see that you can change the weight of a single node by adding : https://networkx.org/documentation/stable/reference/generated/networkx.linalg.attrmatrix.attr_sparse_matrix.html
I want to add different weights to each edge. For example, ('A','B') is 0.1 weight, ('A', 'C') is 0.2 weight, etc.
I also looked at the following post: NetworkX: how to add weights to an existing G.edges()?
However, it looks like they are iterating through each edge for a specific weight for all all edges, which is not what I want, rather I want specific weights for specific edges.