G = nx.Graph() # or DiGraph, MultiGraph, MultiDiGraph, etc roadWeight = 4 i=1 # Nodes for road vertices G.add_node("v11",pos=(0,0)) G.add_node("v21",pos=(1,0)) G.add_node("v31",pos=(2,0)) G.add_node("v41",pos=(3,0)) # "Road Objects" G.add_node("r21",pos=(0.5,0)) G.add_node("r31",pos=(1.5,0)) G.add_node("B",weight=5, pos=(1.5,0.25)) G.add_edge("v11","r21",weight=4, roadName='a', color='blue') G.add_edge("r21","v21",weight=4, roadName='a') pos=nx.get_node_attributes(G,'pos') nx.draw(G,pos, with_labels = True, edge_color='r') edgeLabels = nx.get_edge_attributes(G,'weight') roadLabels = nx.get_edge_attributes(G,'roadName') print(edgeLabels) #nx.draw_networkx_edge_labels(G,pos=pos, edge_labels=edgeLabels) nx.draw_networkx_edge_labels(G,pos=pos, edge_labels=roadLabels) # nx.draw_networkx_labels(G,pos,labels,font_size=16)