Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Python’da grafik tarafına giren çoğu kişinin bir noktada yolu matplotlib’le kesişiyor zaten. İlk açtığında biraz dağınık geliyor, ne nerede tam oturmuyor. Bende de öyle olmuştu, özellikle ilk kurcaladığım günlerde olayın mantığını çözmek biraz zaman aldı. Ama bir yerden sonra taşlar oturuyor, hele pyplot’la başlayınca iş ciddi anlamda daha akıyor.
Matplotlib temelde Python için iki boyutlu grafik kütüphanesi. Farklı formatlarda gayet temiz, kaliteli görseller üretebiliyorsun. Kurulum tarafı da genelde sorun çıkarmıyor, çoğu dağıtımda zaten hazır geliyor, Anaconda kullananlarda direkt kutudan çıktığı gibi var. Kodda da çoğunlukla import matplotlib as mpl diye geçiyorsun, sürüm kontrolü falan da oradan bakılıyor. Yapının kendi içinde bayağı modülü var, onların altında class’lar, fonksiyonlar derken katman katman gidiyor. İlk bakışta biraz kalabalık görünmesinin sebebi de o zaten. Mantık hayatımızda ki çizim yapmaya benziyor. Bir zemin var, elindeki araçlar var, sonra ne çizeceğine karar verip adım adım ilerliyorsun. Burada “çizen” taraf gibi duran şey matplotlib’in kendisi, sen daha çok yön veriyorsun. Ne istediğini söylüyorsun, nasıl çizileceğini çoğu zaman kütüphane hallediyor. O yüzden üst seviye fonksiyonlarla başlamak daha rahat. Mesela pyplot üzerinden tek komutla histogram çıkarmak mümkün. İşin güzel tarafı şu: sen tek satır yazıyorsun ama arkada bir sürü şekil üretiliyor. Histogram sonuçta yığınla dikdörtgen. Normalde onların koordinatını, genişliğini, yüksekliğini tek tek düşünmek gerekirdi. Matplotlib bunu üst seviye bir yapıyla toparlıyor, alt tarafta duran basit şekilleri birleştirip sana hazır grafik veriyor. Sıfırdan uğraşmıyorsun, yoksa boş yere grind’a dönerdi iş.
Pyplot arayüzü de zaten biraz MATLAB komut mantığına benzer hazırlanmış. Bunun sebebi de matplotlib’in ilk çıkış fikrinin bir noktada MATLAB’a alternatif olma tarafına dayanması. Eskiden pyplot ile numpy’yi birleştiren pylab diye bir kullanım vardı, hâlâ denk geliniyor ama çok önerilmiyor açıkçası. O yüzden çoğu kişi ya direkt pyplot kullanıyor ya da işi daha kontrollü götürmek için nesne yönelimli tarafa geçiyor. Basit birşey çıkacaksa pyplot bayağı pratik. Ama GUI entegrasyonu gibi daha ileri işlere girdiğinde tek başına yetmediği oluyor, orada matplotlib’in OOP yapısına geçmek gerekiyor. O kısım biraz daha ağır, çünkü class ve method mantığını gerçekten anlaman lazım. Karşılığında da kontrol tamamen sana geçiyor.
Matplotlib’in obje yapısı da başta karışık geliyor ama bir kez oturunca netleşiyor. En üstte Figure var. Onun içinde Axes bulunuyor, onun altında da Axis yapısı geliyor. Yani kabaca Figure → Axes → Axis diye ilerleyen bir düzen var, biraz matruşka gibi. Figure genel tuval gibi düşünülebilir, Axes asıl çizim alanı, Axis de koordinat tarafı. Tick, label gibi detaylar da bunun altına yerleşiyor. Bir de Artists meselesi var; ekranda gördüğün hemen her şey aslında bir Artist. Yazı, çizgi, dikdörtgen, şekil, hepsi buna giriyor. Bunlar render sırasında canvas üstüne çiziliyor. Aynı Artist’i birden fazla Axes içinde kullanamıyorsun, her biri bağlı olduğu yerde kalıyor. API tarafında da ana üçlü FigureCanvas, Renderer ve Artist. Canvas çizim yüzeyi, Renderer nasıl çizileceğini bilen kısım, Artist de neyin çizileceğini taşıyan taraf. Günlük kullanımda en çok elleşilen şey de zaten bunlar oluyor. Artist’ler kendi içinde primitive ve container olarak ayrılıyor. Primitive olanlar çizgi, yazı, dikdörtgen gibi temel parçalar. Container dediğin de bunları taşıyan yapılar; Figure, Axes, Axis gibi. Özellikle Axes kısmı işin merkezi gibi, grafiklerin döndüğü ana alan orası. Genelde akış da aynı: önce bir Figure oluşturuyorsun, içine bir veya birkaç Axes koyuyorsun, sonra çizimi onların üstünden yapıyorsun. Eğer otomatik gelen eksen ayarları gözüne kötü gelirse bu sefer Axis ve Tick tarafına inip ince ayar çekiyorsun. Bu sistemi bir kere kafada oturtunca matplotlib ilk baştaki kadar karmaşık hissettirmiyor. Başlangıçta biraz sert geliyor ama el alışınca bayağı rahatlıyor iş.