Hikayeler

Reklam vermek için turkmmo@gmail.com

Matplotlib grafik ayarları ve parametre olayı

devemoji

dev.mmooyun.com
Telefon Numarası Onaylanmış Üye
Yönetici
VIP Üye
Paylaşım
Ayın Üyesi
Katılım
4 Ocak 2016
Konular
163
Mesajlar
818
Online süresi
1ay 29g
Reaksiyon Skoru
762
Altın Konu
59
Başarım Puanı
214
TM Yaşı
10 Yıl 3 Ay 19 Gün
MmoLira
3,701
DevLira
3

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Matplotlib’te biraz ilerleyince olayın sadece grafik basmak olmadığı iyice belli oluyor, asıl farkı yaratan şey bu ayar detayları. Renk, çizgi tipi, kalınlık, marker, transparanlık gibi şeyler tamamen senin elinde. Başta çok karışık gibi duruyor ama birkaç denemeden sonra hangi parametre ne yapıyor oturuyor.Genelde bu ayarlar her yerde aynı mantıkla çalışıyor.

Mesela color renk, linewidth çizgi kalınlığı, linestyle çizgi tipi, alpha transparanlık, fontsize yazı boyutu, marker nokta tipi gibi gidiyor. Scatter’da marker boyutu için s kullanılıyor, yazıları döndürmek için de rotation var. Hepsi key=value şeklinde veriliyor, yani syntax aynı kalıyor, bu da alışmayı kolaylaştırıyor.Biraz daha kod tarafına girince *args ve **kwargs mevzusu çıkıyor.

İlk başta kafa karıştırıyor ama aslında mantığı basit. *args tuple olarak gelen parametreleri topluyor, **kwargs da sözlük gibi key-value şeklinde gelenleri. Mesela bir fonksiyona kaç tane veri verirsen ver, hepsini yakalayıp işleyebiliyorsun. Özellikle kendi fonksiyonunu yazarken bayağı rahatlık sağlıyor.



1_SYV1hKxudmIqhqcXsAPULA.png



Örnekteki gibi f_sums(*args) tüm dizileri alıp tek tek topluyor. f_words(**kwargs) ise sözlükten değer çekip string oluşturuyor, hatta pop ile kullandığını silip kalanları bırakıyor. Bir de f_plot(*args, **kwargs) var, o biraz daha gerçek kullanım gibi. X ve Y verilerini ayırıyor, sonra color ve linewidth gibi parametreleri kwargs’tan çekip grafiğe uyguluyor.

Bir nevi kendi mini plot sistemini yazmış oluyorsun.Matplotlib’te de benzer mantık var zaten. plt.plot(*args, **kwargs) dediğinde önce veriyi veriyorsun, sonra ayarları ekliyorsun. Mesela iki farklı çizgiyi tek seferde basabiliyorsun, renkleri de liste olarak geçiyorsun. Bu tarz kullanım özellikle çoklu grafiklerde iş hızlandırıyor.Diğer örnekte contour plot, colorbar, line plot ve scatter bir arada kullanılıyor.

Gamma dağılımından veri çekip hem yüzey hem çizgi hem nokta gösterimi yapılmış. Başlık, eksen yazıları, colorbar label’ları ayrı ayrı ayarlanıyor. Grid de açılınca grafik daha okunur oluyor. Bu arada colorbar label’larının syntax’ı diğerlerinden farklı, orası ayrı bir detay.


1_SYV1hKxudmIqhqcXsAPULA.png



Son kısımda transparanlık ve dolgu işleri var. fill_between ile iki çizgi arası dolduruluyor, alpha ile saydamlık veriliyor. Üstüne farklı kalınlıkta çizgiler ekleniyor. Aynı ayarları dictionary ile verip **my_dict şeklinde geçirmek de mümkün, tek tek yazmaktan kurtarıyor.Bir süre sonra bu parametre işi refleks oluyor zaten. Hangi grafikte neyi açman gerektiğini biliyorsun, ondan sonra matplotlib daha az uğraştırıyor.
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst