Exibindo gráfico de redex com etiquetas

Estou tentando criar um gráfico rotulado usando o networkx, mas estou tendo problemas para fazer com que os nós e os rótulos funcionem corretamente. Em resumo, os rótulos não se alinham nos nós certos e há alguns nós que não têm arestas quando exibidos.

Primeiro, criei um gráfico, adicionei nós e arestas e depois adicionei etiquetas.

Os dados do gráfico vêm de um objeto DataFrame do pandas com duas colunas, nomes de funcionários e gerentes:

                emp_name             mgr_name
0        Marianne Becker                 None
1            Evan Abbott      Marianne Becker
2               Jay Page      Marianne Becker
3             Seth Reese      Marianne Becker
4         Maxine Collier      Marianne Becker

...

Cada nó é um nome e as bordas são o relacionamento mgr_name para emp_name.

Meu código gráfico:

import networkx as nx
G=nx.DiGraph()

#set layout
pos=nx.spring_layout(G)

#add nodes
G.add_nodes_from(df.emp_name)
G.nodes()
G.add_node('None')

#create tuples for edges
subset = df[['mgr_name','emp_name']]
tuples = [tuple(x) for x in subset.values]

#add edges
G.add_edges_from(tuples)
G.number_of_edges()

#draw graph
import matplotlib.pyplot as plt
nx.draw(G, labels = True)
plt.show()

Idealmente, eu teria uma estrutura em forma de árvore com nomes de funcionários como rótulos para cada um dos nós.

A imagem de saída é

questionAnswers(1)

yourAnswerToTheQuestion