Если вы используете Python, NetworkX и Matplotlib, то вы можете сделать что-то вроде этого, где у вас есть два графика с одинаковым набором узлов, и поэтому вы рисуете сначала узлы, а затем два набора ребер в разных цветах.
import networkx as nx
G=nx.gnm_random_graph(10,20)
G2=nx.gnm_random_graph(10,20)
pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,node_size=80)
nx.draw_networkx_edges(G,pos,edge_color='r')
nx.draw_networkx_edges(G2,pos,edge_color='b')
Будьте осторожны с краями разных цветов между одними и теми же конечными точками, они будут неразличимы.