This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.


Graph.add_node(n, attr_dict=None, **attr)[source]

Add a single node n and update node attributes.

  • n (node) – A node can be any hashable Python object except None.
  • attr_dict (dictionary, optional (default= no attributes)) – Dictionary of node attributes. Key/value pairs will update existing data associated with the node.
  • attr (keyword arguments, optional) – Set or change attributes using key=value.

See also



>>> G = nx.Graph()   # or DiGraph, MultiGraph, MultiDiGraph, etc
>>> G.add_node(1)
>>> G.add_node('Hello')
>>> K3 = nx.Graph([(0,1),(1,2),(2,0)])
>>> G.add_node(K3)
>>> G.number_of_nodes()

Use keywords set/change node attributes:

>>> G.add_node(1,size=10)
>>> G.add_node(3,weight=0.4,UTM=('13S',382871,3972649))


A hashable object is one that can be used as a key in a Python dictionary. This includes strings, numbers, tuples of strings and numbers, etc.

On many platforms hashable items also include mutables such as NetworkX Graphs, though one should be careful that the hash doesn’t change on mutables.