Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Python’da grafik işine girince bir noktadan sonra şunu fark ediyorsun, tek çizgi çizmek mesele değil, asıl olay birden fazla şeyi aynı ekrana koyunca başlıyor. O an hangi çizgi neyi temsil ediyor karışmaya başlıyor. İşte legend dediğimiz şey tam burada devreye giriyor, yoksa grafik bir süre sonra loot drop ekranı gibi oluyor ama ne düştüğü belli değil.
Genelde ilk başta basit gibi duruyor. label veriyorsun, sonra legend() çağırıyorsun, olay bitiyor. Ama iş büyüdükçe o basit sistemin arkasında baya düzen ihtiyacı olduğunu görüyorsun. Özellikle sin, cos, scatter, bar gibi farklı grafik türleri üst üste binince legend aslında grafik okunabilirliğinin ana parçası haline geliyor.
En klasik kullanım plt.plot() ya da plt.scatter() içine label yazmak. Mesela “cos + sin”, “cardioid” gibi isimler veriyorsun. Sonra plt.legend() çağırınca otomatik topluyor. Basit projelerde bu yeterli ama biraz karmaşık grafikte konumlama önemli hale geliyor. loc='best' mesela otomatik en boş yeri buluyor, çoğu zaman iş görüyor ama bazen de grafiğin üstüne oturup görüntüyü bozabiliyor.Bir diğer olay subplot’lar. Yani ekranı bölüp birden fazla grafik koyduğunda legend her eksen için ayrı çalışıyor. ax.legend() dediğin zaman sadece o paneli etkiliyor.
Ben bunu ilk kullandığımda biraz karıştırmıştım, çünkü her subplot kendi legend’ını bağımsız tutuyor. Özellikle karşılaştırmalı grafiklerde bu çok işe yarıyor, yoksa tek legend her şeyi birbirine sokuyor.İleri seviye kullanımda legend’i elle de veriyorsun. Yani label kullanmadan, direkt plt.legend((...), ...) gibi bir listeyle hangi açıklamanın hangi elemana denk geldiğini söylüyorsun. Ama burada dikkat etmek lazım, çünkü Matplotlib çizim sırasına göre eşleştiriyor. Line, scatter, bar gibi şeyler karışınca yanlış label yanlış objeye gidebiliyor. Bu da debug sırasında sinir bozabiliyor.
Bir de küçük ama önemli detay var, legend sadece isim değil aslında grafik içi yönlendirme gibi çalışıyor. Yani iyi yerleştirilmiş bir legend, grafiği anlatan mini bir UI gibi. Kötü yerleştirilmiş legend ise direkt görüntüyü bozuyor, özellikle veri yoğun grafikte.Örneklerde sin, cos karışımı grafikler var, üstüne cardioid eğrisi ve scatter noktalar eklenmiş. Legend sayesinde hepsi ayrı ayrı okunabiliyor. İki farklı subplot örneğinde de aynı veri iki ayrı panelde gösterilip legend ayrı ayrı tanımlanmış. Bu aslında gerçek projelerde çok kullanılan bir yapı, özellikle veri karşılaştırırken.
Son kısımda legend’in konumu loc ile ayarlanıyor. Sayısal değerler var ama çoğu kişi string kullanıyor. “best” en pratik olanı ama her zaman mükemmel değil. frameon=False yapınca da kutuyu kaldırıyorsun, bu da grafiği biraz daha temiz gösteriyor.Genel olarak bakınca legend işi küçük bir detay gibi başlıyor ama grafik büyüdükçe neredeyse UI tasarımına dönüşüyor. Özellikle veri yoğun işlerde doğru legend yerleşimi, grafiğin anlaşılabilirliğini direkt belirliyor.