Ich versuche, 100 Knoten mit den höchsten Graden in einem Diagramm mit insgesamt ~ 1,5 Millionen Knoten zu visualisieren. Ich verwende, draw_networkx()
ohne explizit einen Wert für zu übergeben pos
; Ich bin mit der Standardpositionierung des Federlayouts einverstanden. Dies dauert lange und ich habe mich gefragt, ob draw_networks()
das Layout für den gesamten Graphen berechnet und dann die in nodelist
? Gibt es das irgendwie zu optimieren?
Ich verwende einen Pandas-Datenrahmen, um das Diagramm über zu generieren from_pandas_edgelist()
Code unten:
nodes = dict(G.degree)
top_100 = sorted(nodes, key=nodes.get, reverse=True)[:100]
nodes_100 = {k: nodes[k] for k in top_100}
plt.figure()
nx.draw_networkx(
G,
node_list=nodes_100.keys(),
node_size=nodes_100.values(),
with_labels=False,
edge_color='grey',
linewidth=2
)
plt.show()
Jawohl.
Hier ist der Befehl darin draw_networkx
:
if pos is None:
pos = nx.drawing.spring_layout(G)
Wenn Sie also nicht pos
als Eingabe angeben , wird aufgerufen, spring_layout
wodurch die Positionen aller Knoten ermittelt werden.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen