Drawing nodes with coordinates in correct position using NetworkX/Matplotlib

You can use

from matplotlib import pyplot

pyplot.gca().invert_yaxis()
pyplot.gca().invert_xaxis()

you can invert the positions before plotting.

pos = {city:(long, lat) for (city, (lat,long)) in nx.get_node_attributes(G, 'pos').items()}
nx.draw(G, pos, with_labels=True, node_size=0)

What the command does is it takes the dictionary nx.get_node_attributes('pos') and finds all the items. An item looks like (city, (lat, long)), so it reads in each item in that format and then creates an entry in the new dictionary pos so that pos[city]=(long,lat).