Bu yazıda iki değişkenli bir fonksiyonunun iki boyutlu düzlemde renk kodlarıyla görselleştirilmesinden bahsedeceğiz. Fonksiyon değerlerini pcolor veya pcolormesh komutlarıyla görselleyebiliriz. Fonksiyonun eşeğrilerini, yani sağlayan çizgileri çizmek için contour ve contourf komutları kullanılabilir. İki boyutlu dağılımları göstermek için ise hist2d fonksiyonu mevcuttur.
matplotlib 4: Logaritmik, kutupsal, histogram, ve diğer faydalı grafik türleri
Veri noktaları veya matematiksel eğriler farklı biçimlerde gösterildiklerinde daha açıklayıcı olabilirler. Bu kısımda logaritmik eksenli şekiller, kutupsal koordinatlardaki şekiller, çubuk grafikler, histogramlar, dağılım ve kabarcık grafiklerinden bahsedeceğiz.
matplotlib 3: Bitişik şekiller, yazı, ve diğer süslemeler
Yayınlanabilir kalitede bir grafik oluşturmak için şimdiye kadar bahsettiklerimizden daha fazla elementler eklemeniz gerekebilir. Bu kısımda şekilleri yanyana veya altalta göstermek, şekil içine daha küçük bir şekil koymak, şeklin içine yazı yerleştirmek, bir noktaya okla işaret etmek, yatay-dikey çizgiler ve şeritler eklemekten bahsedeceğiz.
matplotlib 2: Çizgi biçimlendirme
Önceki yazıda grafik oluşturmanın temellerini gördük. Bu yazıda, aynı grafikte birden fazla eğri göstermekten bahsedeceğim. Bu eğrilerin birbirine karışmaması için farklı şekillerde biçimlendirmek gerekir.
matplotlib 1: Temel grafikler
Matplotlib grafik çizim paketi Python’la bilimsel programlamanın en önemli araçlarından birisidir. Çok kuvvetli bir paket olan Matplotlib ile verileri etkileşimli olarak görselleştirebilir, yayınlamaya uygun yüksek kalitede çıktılar hazırlayabiliriz. Hem iki boyutlu hem de üç boyutlu grafikler üretilebilir.
Matplotlib grafikleri çok incelikli şekilde düzenlenebilir, ama burada temel özelliklerine odaklanacağız.
PythonBilim hayatta
Dersler ve başka işler sebebiyle maalesef bir süredir PythonBilim’e yeni yazı ekleyemedim. Endişelenmeyin, sitemiz hâlâ hayatta.
Python programlamanın temellerini yeteri kadar işledik. Bundan sonraki yazılarda matplotlib ile grafik çizmekten bahsedeceğim. Daha sonrası için planım NetworkX ile çizge analizi, rastgele sayılarla stokastik simülasyonlar, ve devasa SciPy bilimsel hesaplama kütüphanesi. Bir ara temellere geri dönüp nesneye yönelik programlamadan da bahsetmek iyi olur.
Yakında görüşmek üzere.
Modüller ve paketler
Her programlama dilinde olduğu gibi Python’da da tekrar tekrar kullanılabilen fonksiyon ve sınıfların bir kütüphane şeklinde ayrı dosyalarda saklanması ve yeni yazılan programlara entegre edilmesi için bir mekanizma vardır. Standart kütüphaneler, SciPy ve benzeri paketler, veya kendi kişisel fonksiyon kütüphaneniz bu modül sistemiyle inşa edilir.
Fonksiyonel programlama: map, filter, reduce
Python, yapısal programlama ve nesneye yönelik programlamanın yanı sıra, fonksiyonel programlama denen farklı bir yazılım geliştirme yaklaşımını da destekler. İsimsiz fonksiyonlar bu yaklaşımın bir parçasıdır. Python’un fonksiyonel programlama işlevi pek mükemmel sayılmaz; fonksiyonel programlama yapmak isteyenlerin başka bir dil kullanması daha doğru olur. Ama Python’un map(), filter() ve reduce() fonksiyonları (ve functools modülündeki diğer fonksiyonlar) pratik açıdan bazı işlerin daha kolay halledilmesini sağlayabilirler.
İsimsiz fonksiyonlar: lambda
Fonksiyon tanımlamayı daha önce ayrıntısıyla incelemiştik. Python’un lambda komutunu kullanarak isimsiz (“anonymous” – belli bir isme bağlı olmayan) fonksiyonlar üretebilirsiniz. İsimsiz fonksiyonlar, def komutuyla üretilen fonksiyonlara göre daha kısıtlıdırlar. Buna karşılık, bir fonksiyon nesnesi gereken yerlerde bazı avantajlar sağlarlar.
Programları komut satırında çalıştırmak
Buradaki notlarda çoğunlukla komut satırında etkileşimli çalışıyor da olsak, çoğunlukla kendi başına çalışan Python programları yazacak ve komut satırında (“kabuk” veya “terminal” diye bilinen işletim sistemi yorumlayıcısında) çalıştıracaksınız. Bu kısımda komut satırında çalıştırılan bir program hazırlamak, komut satırı argümanları ve giriş/çıkış yönlendirmeden bahsedeceğim.