Perpustakaan Grafik Python [ditutup]


354

Saya sedang menulis aplikasi python yang akan banyak menggunakan struktur data grafik. Tidak ada yang mengerikan kompleks, tapi saya pikir semacam grafik / grafik-algoritma perpustakaan akan membantu saya. Saya sudah googled sekitar, tetapi saya tidak menemukan apa pun yang terutama melompat keluar kepada saya.

Adakah yang punya rekomendasi bagus?


Algoritma grafik mana yang Anda cari?
Andrew

1
Amoss, saya sedang mencari perpustakaan grafik yang bisa menghitung jalur terpendek diberi bobot. Hal-hal dasar, sungguh. Saya akhirnya menggunakan networkx. Ini bekerja dengan cukup baik. Saya belum menyentuh proyek ini untuk sementara waktu. Pertanyaan ini ditanyakan lebih dari setahun yang lalu.
cpatrick

108
Sangat aneh bahwa ada pertanyaan yang sangat membantu dan mendapatkan suara seperti ini dapat diklasifikasikan sebagai "tidak konstruktif".
Jim Raynor

1
Anda juga dapat menggunakan "database grafik asli" seperti neo4j, lalu gunakan pengikat python untuk berdiskusi dengan db?
A STEFANI

3
@ JimRaynor "Tidak konstruktif" adalah tangkapan lama semua. Alasan penutupan telah diperbarui untuk lebih baik (tidak sempurna, tetapi lebih baik) mencakup penggunaan yang dimaksud. Hari ini, ini akan ditutup sebagai pertanyaan rekomendasi.
jpmc26

Jawaban:


237

Ada dua pilihan bagus:

NetworkX

dan

igraph

Saya suka NetworkX, tetapi saya membaca hal-hal baik tentang igraph juga. Saya secara rutin menggunakan NetworkX dengan grafik dengan 1 juta node tanpa masalah (ini tentang menggandakan overhead dari ukuran dict V + E)

Jika Anda ingin perbandingan fitur, lihat ini dari daftar Networkx-mendiskusikan

Utas perbandingan fitur


4
Secara khusus, apa yang saya sukai tentang Networkx .... sebagian besar dalam python, mudah untuk mengedit dan memahami kode sumber, dan rasanya kebanyakan "pythonic".
Gregg Lind

1
Saya bertanya-tanya, apakah Anda menggunakannya dengan * atau algoritma yang serupa?
dassouki

4
Saya baru saja mengevaluasi keduanya. networkxdapat diinstal melalui pip, sedangkan igraphtidak. Ini membuat igraphlebih sulit untuk digunakan sebagai dependensi dalam setup.pyfile Anda .
exhuma

3
Sebagai pembaruan untuk 2013, saya akan menggunakan networkx hanya tetapi memiliki github dan terlihat paling up to date dari semua opsi dalam jawaban ini dan yang lainnya
Мати Тернер

1
igraph juga memiliki github: github.com/igraph/python-igraph
user_1_1_1

105

Saya ingin pasang pustaka python grafik saya sendiri: graph-tool .

Ini sangat cepat, karena diimplementasikan dalam C ++ dengan Boost Graph Library, dan berisi banyak algoritma dan dokumentasi yang luas.


6
alat grafik sangat fantastis.
Sean

5
+1 Untuk alat grafik. Kami telah menggunakannya di lab kami. Ini sangat cepat dibandingkan dengan perpustakaan python lainnya. Selain itu, menggambar dan menampilkan grafik cukup mengagumkan dalam alat grafik. Butuh banyak waktu untuk mengkompilasi!
Dilawar

5
Sayangnya tidak ada dukungan windows :(
Mike Chaliy

2
@TiagoPeixoto Ini terlihat sangat menjanjikan tetapi tidak bisa menggunakannya di windows. Saya terjebak dengan NetworkX, merasa terlalu lambat.
Naman

2
@ColonelPanic Ini adalah FAQ, lihat graph-tool.skewed.de/download : "Jawaban singkatnya adalah tidak bisa dilakukan, karena alat grafik sangat tergantung pada beberapa perpustakaan C ++ (unggul) seperti Boost, yang merupakan tidak dapat diinstal melalui pip. "
Tiago Peixoto






0

Saya saran kedua zweiterlinde untuk menggunakan python-graph. Saya telah menggunakannya sebagai dasar proyek penelitian berbasis grafik yang sedang saya kerjakan. Perpustakaan ditulis dengan baik, stabil, dan memiliki antarmuka yang baik. Para penulis juga cepat menanggapi pertanyaan dan laporan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.