Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Altın Konu Matplotlib grafik ayarları ve parametre olayı

devemoji

Hüküm haktan yanadır.
Telefon Numarası Onaylanmış Üye
Yönetici
Katılım
4 Ocak 2016
Konular
191
Mesajlar
901
Çözüm
7
Online süresi
1mo 29d
Reaksiyon Skoru
891
Altın Konu
73
Başarım Puanı
214
MmoLira
7,078
DevLira
18
Ticaret - 0%
0   0   0

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!

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:
Paylaşım için teşekkürler :)
 

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

Geri
Üst