Drawing a graph with NetworkX on a Basemap
By : Bob
Date : March 29 2020, 07:55 AM
will be helpful for those in need I want to plot a graph on a map where the nodes would be defined by coordinates (lat, long) and have some value associated. , Here is one way to do it: code :
import networkx as nx
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap as Basemap
m = Basemap(
projection='merc',
llcrnrlon=130,
llcrnrlat=25,
urcrnrlon=60,
urcrnrlat=50,
lat_ts=0,
resolution='i',
suppress_ticks=True)
# position in decimal lat/lon
lats=[37.96,42.82]
lons=[121.29,73.95]
# convert lat and lon to map projection
mx,my=m(lons,lats)
# The NetworkX part
# put map projection coordinates in pos dictionary
G=nx.Graph()
G.add_edge('a','b')
pos={}
pos['a']=(mx[0],my[0])
pos['b']=(mx[1],my[1])
# draw
nx.draw_networkx(G,pos,node_size=200,node_color='blue')
# Now draw the map
m.drawcountries()
m.drawstates()
m.bluemarble()
plt.title('How to get from point a to point b')
plt.show()

How to show cycles in networkx graph drawing
By : Rodders
Date : March 29 2020, 07:55 AM
I wish this help you Graphviz does a great job of drawing arrows and self loops. (Nontrivial to implement in Matplotlib). Here is an example: code :
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_edges_from(\[(0,1), (0,2), (1,1), (1,2)\])
nx.write_dot(G,'graph.dot')
# then run dot Tpng graph.dot > graph.png

NetworkX: Drawing Graph
By : Iounno
Date : March 29 2020, 07:55 AM
I hope this helps you . So for the positioning, you've set pos based on spring_layout. pos gives the positions of your nodes. Check it out  once you've defined it, ask python to print pos for you and see what it's doing. Here's an alternative code: code :
import networkx as nx
import pylab as py
blue_edges = [('B', 'C'), ('B', 'D'), ('B', 'E'), ('E', 'F')]
red_edges = [('A', 'B'), ('A', 'C'), ('C', 'E'), ('D', 'E'), ('D', 'F')]
G=nx.Graph() #define G
G.add_edges_from(blue_edges)
G.add_edges_from(red_edges)
pos = {'A':(0,0), 'B':(1,1), 'C':(1,1), 'D':(2,1), 'E':(2,1), 'F':(3,0)}
nx.draw_networkx(G, pos=pos, edgelist = [], node_color = 'k')
nx.draw_networkx(G, pos=pos, nodelist = [], edgelist = blue_edges, edge_color = 'b')
nx.draw_networkx(G, pos=pos, nodelist = [], edgelist = red_edges, edge_color = 'r')
nx.draw(G, pos=pos, edgelist = [], node_color = 'k')
nx.draw(G, pos=pos, nodelist = [], edgelist = blue_edges, edge_color = 'b')
nx.draw(G, pos=pos, nodelist = [], edgelist = red_edges, edge_color = 'r')

Networkx Graph edge drawing error
By : Florian Benkö
Date : March 29 2020, 07:55 AM
this one helps. I don't think any other graph initialisation methods apart from random_geometric_graph sets the node position automatically (as the connectivity in this graph depends on the node positions, it makes sense to set one by default). If you check your example with the watts_strogatz_graph, the dictionary that is returned is actually empty (although it arguably should throw a KeyError). You need to determine the layout explicitly, e.g. using code :
pos = nw.spring_layout(G)

Drawing Labels in NetworkX Graph
By : Mlubbe
Date : March 29 2020, 07:55 AM
wish helps you I am making a large bipartite graph, I am able to make a graph but I cannot label the nodes in the graph, I am interested in simply labeling the nodelistDept nodes with their names I have tried everything but nothing seems to work, any help will be much appreciated, here is the code: , I don't know if it is a silly answer, but have u tried for instance:

