""" ================= Labels And Colors ================= Use `nodelist` and `edgelist` to apply custom coloring and labels to various components of a graph. """ import matplotlib.pyplot as plt import networkx as nx G = nx.cubical_graph() pos = nx.spring_layout(G, seed=3113794652) # positions for all nodes # nodes options = {"edgecolors": "tab:gray", "node_size": 800, "alpha": 0.9} nx.draw_networkx_nodes(G, pos, nodelist=[0, 1, 2, 3], node_color="tab:red", **options) nx.draw_networkx_nodes(G, pos, nodelist=[4, 5, 6, 7], node_color="tab:blue", **options) # edges nx.draw_networkx_edges(G, pos, width=1.0, alpha=0.5) nx.draw_networkx_edges( G, pos, edgelist=[(0, 1), (1, 2), (2, 3), (3, 0)], width=8, alpha=0.5, edge_color="tab:red", ) nx.draw_networkx_edges( G, pos, edgelist=[(4, 5), (5, 6), (6, 7), (7, 4)], width=8, alpha=0.5, edge_color="tab:blue", ) # some math labels labels = {} labels[0] = r"$a$" labels[1] = r"$b$" labels[2] = r"$c$" labels[3] = r"$d$" labels[4] = r"$\alpha$" labels[5] = r"$\beta$" labels[6] = r"$\gamma$" labels[7] = r"$\delta$" nx.draw_networkx_labels(G, pos, labels, font_size=22, font_color="whitesmoke") plt.tight_layout() plt.axis("off") plt.show()