networkx add_node com posição específica

Eu ainda sou um novato com networkx eu quero adicionar vários tipos de nós em posição diferente, usei o seguinte código

pos = {0: (40, 20), 1: (20, 30), 2: (40, 30), 3: (30, 10)} 
X=nx.Graph()
nx.draw_networkx_nodes(X,pos,node_size=3000,nodelist=[0,1,2,3],node_color='r')

mas quando eu quiser acessar o Graph X, se eu digitar X.node, ele retornará uma lista vazia e se eu quiser adicionar mais nós, eu tenho que definir suas posições no começo usando o dicionário pos.

Como posso adicionar nós a um gráfico em um local específico x e y usando add_node ()

questionAnswers(2)

yourAnswerToTheQuestion