Python'da güzel grafikler ve çizelgeler [kapalı]


130

Bir Python uygulamasında güzel çizelgeler ve grafikler oluşturmak için mevcut kitaplıklar nelerdir?


22
Bunun neden kapandığından emin değilim. Ateşli savaşları veya fikirleri davet etmez ve bir dizi net yanıt vardır: yalnızca bir avuç Python çizim kütüphanesi vardır.
Alex B

7
Bu neden kapandı? Bu yararlı bir sorudur. Her neyse, benim tavsiyem pip search plotne çıkacağına bakmak. Bunu yaparak pygal'i keşfettim ve pygal harika görünüyor.
Mark E. Haase

Ayrıca bu sorunun, "python grafiği çizme" için yapılan bir google aramasının başında geldiğini de belirtmek gerekir - tekrar açmak için yeterli bir neden.
George Lund

Bu soru faydalıdır, kapatılmamalıdır. Diğer seçenekler arasında bokeh ve PyX
atomh33ls

Yanıtlar:


50

CairoPlot'u destekleyen benim ve buraya gelmesinden dolayı gurur duyuyorum. Elbette matplotlib harika, ancak CairoPlot'un daha iyi göründüğüne inanıyorum. Yani sunumlar ve web siteleri için çok iyi bir seçim.

Bugün 1.1 sürümünü yayınladım. İlgileniyorsanız, CairoPlot v1.1'e göz atın

DÜZENLEME: Uzun ve soğuk bir kıştan sonra CairoPlot yeniden geliştiriliyor. GitHub'daki yeni sürüme göz atın .


2
İyi görünüyor, denemek isterim. Python 2.6 için bir Windows yükleyici yapmayı planlıyor musunuz?
monkut

Ben de kabul ettiğim gibi destek için sorun değil. İltifat için teşekkürler: D
Rodrigo

İsterseniz olumsuz oy verebilmeniz için stackoverflow.com/questions/359727#520049 eklendi .
VonC

1
Cairoplot gerçekten büyük miktarda veri için o kadar iyi çalışmıyor (yanılıyorsam düzeltin). Etiketleri veya harfleri özetlemek için eksene etiket ekleyemezsiniz. Yine de bir grafikte birden fazla çizgi çizmeyi göremiyorum veya kullanılan renkler üzerinde herhangi bir kontrolüm var. Senaryoyu hackleyebilirim ... matplotlib'e taşınıyorum ...
Jon

Herkes Jon'un yorumunu dikkate almamalı, ekseni etiketlemesi ve kullanılan renkleri tanımlaması çok kolay ... Örnekler için tests.py'yi kontrol edin. Her neyse, güzel bir kitap için teşekkürler.
Daniel Magnusson

38

Etkileşimli çalışma için Matplotlib olgun bir standarttır. OO tarzı bir API'nin yanı sıra Matlab tarzı bir etkileşimli API sağlar.

Chaco , Enthought'daki insanlardan daha modern bir komplo kütüphanesi. Enthought'un Kiva vektör çizim kitaplığını kullanır ve şu anda yalnızca Wx ve Qt ile yolda OpenGL ile çalışır (Matplotlib, Tk, Qt, Wx, Cocoa ve PDF, EPS, PNG vb. Gibi birçok görüntü türü için arka uçlara sahiptir). Chaco'nun ana avantajları, Matplotlib'e göre hızı ve etkileşimli uygulamalar için Enthought's Traits API ile entegrasyonudur.


2
Tüm API'ler arasında - matplotlib'in gerçekten en olgun ve özellik açısından zengin olduğu (ve aynı zamanda hala desteklenmekte ve daha da geliştirilmektedir) olduğunu kabul ediyorum. Çeşitli örnekleri görmek için (kaynak koduna göre) sadece "galerisine" gidin: matplotlib.sourceforge.net/gallery.html . Bununla birlikte, API'sinin, şey ..., karmaşık - yöntem isimleri beni çılgına çevirdiğini söyleyebilirim
Timur

Üzgünüm, şunu da eklemeliyim ki, matplotlib yalnızca etkileşimli değildir - aslında arsa / grafiği bir dosyaya kaydedebilirsiniz. Örn. PNG, PDF veya SVG.
Timur

18

Ayrıca , pygooglechart'ı da kullanabilirsiniz .Google Grafik API'sini . Bu, her zaman kullanmak isteyeceğiniz bir şey değildir, ancak az sayıda iyi, basit çizelge istiyorsanız ve her zaman çevrimiçiyseniz ve özellikle yine de bir tarayıcıda görüntülüyorsanız, bu iyi bir seçimdir.


7
Google'ın oluşturmanıza izin verdiği grafiklerin boyutları oldukça sınırlıdır (genişlik * yükseklik <= 300.000 piksel). Ayrıca, Google Charts (Python API değil), mütevazı boyuttaki veri kümeleriyle bile boğulacaktır. Aksi takdirde, harikalar.
Pat Notz

1
Google Resim Grafikleri hala mevcuttur, ancak kullanımdan kaldırılmıştır. Daha fazla bilgi için developer.google.com/chart/image/?hl=nl
ndequeker

15

Hangi çıktı formatına ihtiyacınız olduğunu söylemediniz, ancak reportlab hem pdf hem de bitmap (örneğin png) formatında grafikler oluşturmakta iyidir.

İşte png ve pdf formatındaki basit bir çubuk çizelge örneği:

from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

d = Drawing(300, 200)

chart = VerticalBarChart()
chart.width = 260
chart.height = 160
chart.x = 20
chart.y = 20
chart.data = [[1,2], [3,4]]
chart.categoryAxis.categoryNames = ['foo', 'bar']
chart.valueAxis.valueMin = 0

d.add(chart)
d.save(fnRoot='test', formats=['png', 'pdf'])

alternatif metin http://i40.tinypic.com/2j677tl.jpg

Not: resim, görüntü sunucusu tarafından jpg'ye dönüştürülmüştür.


2
"RenderPMError: T1 dosyaları eksik olan setFont (Times-Roman) ayarlanamıyor mu?" (I got gibi) Yukarıdaki kodda d.save üzerinde - Çözüm indirme ve özü olan reportlab.org/ftp/fonts/pfbfer.zip reportlabs / fornts dizininde
Shekhar

Pratik bir örnek oluşturma çabası için +1.
vmassuchetto

6

2
Bu neden iyi? Kullandın mı
Nick

Evet, raporlama / istatistik araçlarında dot_line_plot () kullandım. Güzel ve kolaydır. Rodrigo'nun Matplotlib ve CairoPlot hakkında verdiği en büyük yanıtı görün. Ben de Matplotlib kullanıyorum. Aslında şu anda kullanıyorum.
elmarco

Garip insanlar cevabınızı yakalamadı, ancak şu anda en çok oylanan cevap.
pihentagy

Minimal bir örnek olsaydı, bence bu daha fazla olumlu oy alırdı. Bağlantı öldüğünde cevabınız işe yaramaz hale gelecektir.
Martin Thoma

teşekkürler, blogda zaten birçok bilgi var. ve yazarın kendisi daha sonra burada daha fazla ayrıntıyla cevap verdi.
elmarco

6

Pychart kullandım ve çok basit olduğunu düşündüm.

http://home.gna.org/pychart/

Tamamen yerel python ve bir veri yolu bağımlılığı yok. Eminim matplotlib güzeldir, ancak günlerce indirip kuracağım ve sadece bir ölçülü çubuk grafik istiyorum!

Birkaç yıl içinde güncellenmemiş gibi görünüyor ama işe yarıyor!







3

PyOFC2'de hayranıyım: http://btbytes.github.com/pyofc2/

Bu sadece Open Flash Charts 2 için gereken ve çok güzel olan JSON verilerini oluşturmayı kolaylaştıran bir paket. Yukarıdaki bağlantıdaki örnekleri inceleyin.



0

Google grafiklerini de düşünebilirsiniz .

Teknik olarak bir python API'si değil, ancak onu python'dan kullanabilirsiniz, kodlaması oldukça hızlıdır ve sonuçlar güzel görünme eğilimindedir. Arsalarınızı çevrimiçi olarak kullanıyorsanız, bu daha da iyi bir çözüm olacaktır.


0

PLplot , bilimsel grafikler oluşturmak için bir çapraz platform yazılım paketidir. Çok güzel değiller (göz alıcı), ama yeterince iyi görünüyorlar. Bazı örneklere bir göz atın (hem kaynak kodu hem de resimler).

PLplot çekirdek kitaplığı, standart xy grafikleri, yarı günlük grafikleri, günlük log grafikleri, kontur grafikleri, 3B yüzey grafikleri, ağ grafikleri, çubuk grafikler ve pasta grafikleri oluşturmak için kullanılabilir. Windows (2000, XP ve Vista), Linux, Mac OS X ve diğer Unices üzerinde çalışır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.