nx.draw
имеет аргумент метки , который в сочетании с with_labels=True
может рисовать только те метки, которые вы хотите, только так, как вы хотите.
метки (словарь, необязательный (по умолчанию = нет)) - метки узла в
словарь по узлу текстовых меток
Например, вы можете выбрать параметр 'label'
для узлов и нарисовать метки для узлов, которые имеют 3 или более соседей:
labels = {
n: (G.nodes[n]['label']
if len(list(nx.all_neighbors(G, n))) > 2
else '')
for n in G.nodes
}
nx.draw(G, with_labels=True, labels=labels)
P.S. Я не рекомендую использовать базовый функционал рисования сети. Есть много мощных библиотек визуализации лучше, чем networkx. Даже в networkx docs вы можете найти то же мнение. Можно использовать Gephi , Graphviz (с различными библиотеками) или Cytoscape для действительно ОГРОМНЫХ графиков.