Ç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.
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Python’la grafik işine girdikten sonra en çok uğraştığım şeylerden biri aslında çizgi falan değil, direkt yazı kısmı olmuştu. Grafik güzel çiziliyor ama üstüne düzgün açıklama koymak, eksenleri anlamlı hale getirmek falan işin asıl “okunabilirlik” kısmı. Matplotlib’de de bu iş baya temel bir yer tutuyor, yani her şeyin içine gömülü gibi düşünmek lazım.
İlk kısımda olay tamamen matplotlibrc denen ayar dosyasıyla başlıyor. Bu dosya Matplotlib açılır açılmaz devreye giriyor ve bütün varsayılan ayarları oradan çekiyor. Yani fontlar, çizgi kalınlıkları, renkler, her şey orada.
İstersen bunu değiştirip kendi “default grafik stilini” bile oluşturabiliyorsun ama çoğu zaman insanlar direkt rcParams üzerinden oynuyor çünkü script içinde anlık değiştirmek daha pratik oluyor. Ben de genelde öyle yapıyordum, tek tek dosyayla uğraşmak biraz ağır geliyor.
mpl.rcParams dediğin şey aslında sistemin o anki tüm grafik ayarlarını gösteriyor. Bir nevi oyun içi config menüsü gibi düşün. Renk paletinden yazı fontuna kadar ne varsa listeleniyor. İstersen değiştiriyorsun, istersen default’a geri dönüyorsun. Özellikle grafik çıktısı tutarlılığı istiyorsan burası kritik oluyor, yoksa her plot farklı karakterde çıkabiliyor.
Asıl olay 3.2 kısmında başlıyor, yani grafiğin üstüne yazı koyma işi. En basic komut plt.text(). Koordinat veriyorsun, bir de string yazıyorsun, o kadar ama burada iki farklı dünya var: biri direkt veri koordinatları, diğeri ise ekranın kendi 0-1 aralığı. Mesela (0.5, 0.5) dediğin şey aslında grafiğin tam ortası gibi çalışıyor.
Bu ilk başta kafa karıştırıyor ama bir süre sonra alışıyorsun. Bir de yazıyı “stilize etme” kısmı var. horizontalalignment, verticalalignment gibi ayarlarla yazıyı hizalıyorsun. Hatta bbox verip arkasına kutu bile koyabiliyorsun.
Bu özellikle grafik üstü açıklamalarda baya işe yarıyor, yoksa yazı veriyle çakışıp okunmaz hale geliyor. O eski projelerde bunu çok yaşamıştım, grafiği çiziyorsun ama yazı kayboluyor resmen. Daha gelişmiş tarafında xlabel, ylabel, title gibi klasik şeyler var.
Bunlar zaten her grafikte standart. Bir de figtext ve suptitle gibi Figure seviyesinde çalışan şeyler var, yani tek bir eksene değil tüm görsele etki ediyorlar. annotate ise biraz daha “oyun içi marker” gibi, belirli bir noktayı işaretleyip açıklama ekliyorsun, bazen ok bile ekleniyor. Örnek kısımda bir cardioid eğrisi çiziliyor.
Üstüne farklı şekillerde üç ayrı text eklenmiş: biri direkt veri koordinatında, biri çerçeveli kutu içinde, biri de eksen dönüşümüne bağlı relative koordinatta. Burada farkı net görüyorsun aslında, aynı yazı ama üç farklı davranış. Bir de küçük ama sinir bozucu bir detay var, save fonksiyonunda Windows hatası almış. ./pictures/png klasörü yoksa oluşturuyor ama Windows tarafında path bazen sıkıntı çıkarabiliyor.
O dönem bunu çok yaşamıştım, küçük bir klasör hatası bütün plot kaydını çökertiyor. Genel olarak bakınca Matplotlib’de yazı işi basit gibi başlıyor ama kontrol seviyesi baya yüksek. Bir noktadan sonra sadece grafik değil, neredeyse tasarım yapıyorsun gibi oluyor.