I would like to set different edge width in a network visualization with netgraph based on a networkx network. How to do this?
I am using netgraph as, to my knowledge, this is the only graph package to show two separate arrows in between two nodes. My code so far (pools
and processes_weight
are both dict
):
import networkx as nx
import netgraph
network = nx.MultiDiGraph()
# Add node for each pool
for pool in pools_weight.keys():
network.add_node(pool, size = pools_weight[pool])
# For process between pools, add an edge
for pool in processes.keys():
for to_pool in processes[pool].keys():
network.add_edge(pool, to_pool, weight = process_weight[pool][to_pool])
# Get positions for the nodes in G
pos_ = pool_pos #nx.spring_layout(network)
netgraph.draw(network, pos_, node_size=50 ,node_color='w', edge_color='k', edge_width=10.0)
plt.show()
How can I set different edge width based on my networkx network?