Node posisi Networkx di tepi grafik

Sep 15 2020

Saya sangat baru mengenal grafik networkx, jadi permisi! Saya menggunakan kode ini untuk membuat grafik jaringan berbobot. Yang bekerja dengan sempurna! Tapi, saya ingin bertanya apakah ada cara untuk mengubah posisi semua node menjadi di tepi grafik (dengan tata letak melingkar) sehingga lebih jelas. Ada gagasan tentang bagaimana saya bisa mencapai ini?

Jawaban

yatu Sep 15 2020 at 17:17

Tata letak ini tampaknya baik-baik saja bagi saya untuk contoh yang dibagikan. Namun di Networkx, Anda memiliki beberapa tata letak yang dapat digunakan untuk memposisikan node dalam grafik. Berdasarkan deskripsi Anda, sepertinya Anda ingin layout melingkar ( nx.circular_layout) memiliki node di tepi grafik:

plt.figure(figsize=(10,6))

pos = nx.circular_layout(G)  # positions for all nodes
# nodes
nx.draw_networkx_nodes(G, pos, node_size=700)
# edges
nx.draw_networkx_edges(G, pos, edgelist=elarge, width=6)
nx.draw_networkx_edges(
    G, pos, edgelist=esmall, width=6, alpha=0.5, edge_color="b", style="dashed"
)
# labels
nx.draw_networkx_labels(G, pos, font_size=20, font_family="sans-serif")

plt.axis("off")
plt.show()