I have the code
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_nodes_from([1, 2, 3, 4])
G.add_edges_from([(1, 2), (2, 1), (2, 3)])
nx.draw(G)
plt.savefig("graph.png")
plt.show()
And it draws the following graph:
However, I need to display labels. How do I display the numeric values and words (one, two, three and four) within the nodes of the graph?
1. Select the node or nodes you want to clone. 2. In the Node Graph, select Edit > Clone.
nbunch. An nbunch is a single node, container of nodes or None (representing all nodes). It can be a list, set, graph, etc.. To filter an nbunch so that only nodes actually in G appear, use G.
In NetworkX, nodes can be any hashable object e.g., a text string, an image, an XML object, another Graph, a customized node object, etc. Python's None object is not allowed to be used as a node.
You just need to call the with_labels=True
parameter with nx.Draw()
:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_nodes_from([1, 2, 3, 4])
G.add_edges_from([(1, 2), (2, 1), (2, 3)])
nx.draw(G,with_labels=True)
plt.savefig("graph.png")
plt.show()
You can also call font_size
, font_color
, etc.
See the documentation here: https://networkx.github.io/documentation/latest/reference/drawing.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With