Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Buat graf kitaran menggunakan Networkx dalam Python

Buat graf kitaran menggunakan Networkx dalam Python

WBOY
WBOYke hadapan
2023-09-06 14:01:05988semak imbas

Graf kitaran ialah sejenis graf khas di mana setiap nod mempunyai betul-betul dua jiran dan disambungkan kepada nod lain dalam kitaran lengkap. Buat gambar rajah kitaran dengan cepat dan mudah menggunakan modul Networkx Python. Graf kitaran dijana dengan menggunakan fungsi "networkx.cycle_graph()" dan bilangan nod. Gambar rajah ini kerap digunakan dalam pelbagai aplikasi, termasuk pemodelan fenomena berkala, perwakilan struktur bulat, dan analisis proses kitaran. Ia berguna dalam teori graf dan banyak aplikasi dunia nyata kerana kemudahan penggunaan dan keupayaan untuk mewakili interaksi kitaran.

Apakah NetworkX dalam Python?

Pakej Python berkuasa yang dipanggil NetworkX untuk mereka bentuk, memeriksa dan memanipulasi rangkaian atau graf yang kompleks. Ia menyediakan pelbagai alat dan teknik untuk mengendalikan struktur graf dengan cekap. Pembangun dan ahli akademik boleh menggunakan NetworkX untuk memodelkan interaksi antara projek dengan pantas, memeriksa ciri rangkaian, menentukan nod penting, mencari laluan terpendek dan banyak lagi. Kerana kebolehsuaian mereka, perpustakaan merupakan sumber penting dalam banyak bidang, termasuk analisis rangkaian sosial, rangkaian pengangkutan, biologi dan teknologi Internet. Pengaturcara Python boleh memanfaatkan antara muka mesra pengguna NetworkX dan kefungsian yang meluas untuk menyelesaikan masalah berkaitan graf yang mencabar dan mengetahui lebih lanjut tentang interkoneksi data.

Rajah kitaran

Graf kitaran ialah sejenis graf khas di mana setiap nod disambungkan kepada dua jirannya, membentuk satu gelung atau gelung tertutup. Tiada cawangan atau sambungan besar antara nod dalam graf ini. Gelung ini mencipta struktur bulat yang berfungsi sebagai ciri penentu rajah gelung. Ini ialah idea asas dalam teori graf dan sering digunakan untuk memodelkan peristiwa kitaran atau berkala. Gambar rajah kitaran digunakan dalam pelbagai disiplin, seperti kimia, fizik, sains komputer, dan penyelidikan rangkaian sosial, di mana interaksi dan corak kitaran perlu dipaparkan dan dianalisis.

Hartanah

  • Setiap nod dalam graf gelung disambungkan kepada dua nod lain, mencipta gelung tertutup tanpa sebarang cawangan atau hujung mati.

  • Simbol untuk graf kitaran dengan n nod ialah C_n, dengan n mewakili jumlah bilangan nod dalam kitaran.

  • Graf kitaran dengan n nod mempunyai betul-betul n tepi, kerana setiap nod disambungkan kepada dua jiran bersebelahan dengan tepi.

  • Dimensi graf kitaran C_n ialah lantai(n/2). Ia mewakili pemisahan maksimum yang mungkin antara mana-mana dua nod graf.

  • Graf kitaran mempunyai dua sambungan bucu dan dua sambungan tepi, jadi pemadaman salah satu daripada dua tidak akan menyebabkan graf terputus sambungan.

  • Graf kitaran mempunyai laluan tertutup yang melalui betul-betul melalui setiap tepi kerana ia adalah graf Euler.

  • Terdapat kitaran Hamiltonian dalam setiap graf kitaran C_n, atau kitaran yang melawati setiap nod tepat sekali.

  • Graf kitaran boleh diwakili pada satah 2D tanpa mengandungi sebarang persilangan tepi kerana ia adalah graf satah.

  • Graf kitaran mempunyai simetri putaran kerana ia mengekalkan penampilannya selepas diputar dengan sebarang gandaan 360 darjah.

  • Jika n ialah nombor genap, nombor kromatik graf kitaran ialah 2, jika n ialah nombor ganjil, ia ialah 3.

  • Graf kitaran berguna dalam banyak aplikasi dan boleh berfungsi sebagai blok binaan dalam struktur graf yang lebih kompleks kerana fungsinya yang ringkas dan jelas.

Kaedah penggunaan

  • Modul import

  • Tunjukkan gambar

Modul import

Apabila membina graf kitaran dalam Python menggunakan Networkx, istilah "modul import" merujuk kepada menyediakan perpustakaan yang diperlukan dalam skrip untuk menyokong manipulasi dan visualisasi graf. Modul 'networkx' secara khusus menyediakan alatan untuk mencipta, menganalisis dan merumus graf, manakala modul 'matplotlib.pyplot' pilihan menyokong visualisasi graf. Dengan mengimport modul ini, kami boleh membina rajah kitaran dengan lebih mudah, menganalisis sifatnya dan menggunakan teknik visualisasi untuk mengetahui lebih lanjut tentang struktur dan hubungan rajah. Ini meningkatkan pemahaman kita tentang corak dan proses kitaran dalam pelbagai aplikasi dunia sebenar.

Algoritma

    Tambah perpustakaan yang diperlukan:

  • nx import "networkx"

  • Anda boleh mengimport "matplotlib.pyplot" sebagai plt untuk melihat graf.

  • Buat objek graf kitaran:

  • Untuk menjana graf kitaran, gunakan kaedah Cycle_graph() Networkx.

  • Fungsi
  • cycle_graph() menerima input num_nodes, yang mewakili jumlah bilangan nod.

  • Objek graf kitaran yang dijana kemudiannya hendaklah ditugaskan kepada pembolehubah (seperti graph_cycle).

  • Penggambaran grafik (pilihan):

  • Jika visualisasi diperlukan, buat reka letak yang membolehkan nod dipaparkan dengan cara yang cantik (cth. pos = nx.circular_layout(cycle_graph)).

  • Gunakan fungsi nx.draw() untuk melukis grafik berdasarkan maklumat dan reka letak yang diberikan.

  • Jika anda mahukan perwakilan visual yang lebih baik, tetapkan parameter untuk label nod, warna dan saiz teks.

  • Untuk melihat plot kitaran, gunakan plt.show() untuk memaparkan plot grafik (dengan andaian matplotlib diimport).

  • Kembalikan objek graf kitaran.

tatabahasa

import networkx as nx
import matplotlib.pyplot as plt  

def create_cycle_graph(num_nodes):
   cycle_graph = nx.cycle_graph(num_nodes)
   return cycle_graph

def visualize_graph(graph):
   pos = nx.circular_layout(graph)
   nx.draw(graph, pos, with_labels=True, node_size=1000, node_color='skyblue', 
font_size=10)
   plt.show()

if __name__ == "__main__":
   num_nodes = 5
   cycle_graph = create_cycle_graph(num_nodes)
   visualize_graph(cycle_graph)

Output

Buat graf kitaran menggunakan Networkx dalam Python

Tunjukkan gambar

"Memaparkan graf" merujuk kepada proses memaparkan visualisasi grafik pada skrin apabila membina dan menggambarkan graf kitaran menggunakan Networkx dalam Python. Gunakan fungsi "nx.draw()" untuk mewakili plot kitaran secara grafik, dan kemudian gunakan arahan "plt.show()" untuk memaparkan plot dalam tetingkap interaktif (dengan "plt" ialah "matplotlib.pyplot"). Pengguna kemudiannya boleh melihat graf kitaran dengan struktur kitaran, sambungan nod dan sebarang data lain yang berkaitan. Sifat dan interaksi gambar rajah kitaran boleh lebih mudah difahami dan dianalisis dengan menggunakan gambar rajah yang ditunjukkan sebagai perwakilan visualnya.

Algoritma

  • Untuk menjana dan menggambarkan graf, import pustaka Networkx dan Matplotlib.

  • Anda boleh menggunakan input pengguna atau pratakrif bilangan nod tertentu untuk graf kitaran.

  • Untuk membina objek Graf Kitaran dengan bilangan nod yang dikehendaki, gunakan fungsi nx.cycle_graph().

  • Untuk menukar rupa graf, gunakan fungsi nx.draw() dengan parameter pilihan.

  • Untuk memaparkan grafik pada skrin, gunakan plt.show().

Contoh

import networkx as nx
import matplotlib.pyplot as plt

num_nodes = int(input("Enter the number of nodes for the Cycle Graph: "))

cycle_graph = nx.cycle_graph(num_nodes)


pos = nx.circular_layout(cycle_graph)
nx.draw(cycle_graph, pos, with_labels=True, node_size=1000, 
node_color='skyblue', font_size=10)

plt.show()

Output

Buat graf kitaran menggunakan Networkx dalam Python

KESIMPULAN

Akhirnya, menggunakan Networkx Python, kami dapat menjana dan memaparkan gambar rajah kitaran dengan betul. Setiap nod dalam graf kitaran disambungkan dengan tepat dua jiran untuk menunjukkan gelung tertutup. Dengan bantuan alat kerja graf Networkx yang berkuasa, kami boleh memodelkan dan menganalisis pelbagai peristiwa berkaitan perhubungan kitaran dunia sebenar. Pengaturcara Python boleh memeriksa struktur rangkaian yang kompleks, mencari nod penting, mencari laluan terpendek dan banyak lagi dengan menggunakan antara muka mesra pengguna Networkx dan fungsi yang kaya. Networkx ialah alat yang berguna dalam teori graf dan pelbagai disiplin gunaan, kerana keupayaan visualisasi graf membantu untuk lebih memahami corak kitaran dan kesalinghubungan.

Atas ialah kandungan terperinci Buat graf kitaran menggunakan Networkx dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam