Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Programlama
> Python


Python ile Veri Görselleştirmeye Giriş

Python

Yeni Konu aç Cevapla
 
Seçenekler
Alt 16-05-2018 19:43   #1
  • AR-GE Tim (Bug.Res.)
  • Üye Bilgileri
Üyelik tarihi
09/2016
Mesajlar
Konular


  
Python ile Veri Görselleştirmeye Giriş



Merhaba, elimizde bir veri olduğunda bunu metin halinde kullanıcıya göstermek genelde efektif bir çözüm değildir. Bunun yerine bu veriyi grafik üzerinde göstermemiz hem verinin daha anlaşılır olmasını hem de göze daha güzel gözükmesini sağlar. Bunun için Matplotlib kütüphanesini kullanabiliriz. Matplotlib, grafik çizerken işimizi oldukça kolaylaştıracak bir kütüphanedir. Bu konumda matplotlib ile çizebileceğiniz birkaç grafik türü göstereceğim.

Çizgi Grafiği

Basit bir çizgi grafiğini plot() metodu ile oluşturabilirz.


Basit bir çizgi grafiği.

Bunu oluşturan kodlar:
Kod:
import matplotlib.pyplot as plt #Öncelikle matplotlib.pyplot'u yani grafik çizmemiz için gereken modülü import edelim
plt.plot([1, 2, 3, 4], [2, 4, 8, 16]) #plt.plot(x, y) şeklinde kullanıyoruz bu metodu. Yani x 1 iken y 2, x 2 iken y 4 oluyor.
plt.show() #Grafiği gösterelim
Basit bir çizgi grafiği oluşturmak bu kadar basit.

Resim

matplotlib ile resim göstermek de grafik çizmek kadar kolay.


Uchiha Itachi

Bunu alttaki birkaç satır ile yapabilirz:

Kod:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

resim = mpimg.imread('resim.jpg') #Resmimizi dosyadan okuyalım
plt.imshow(resim) #plt.imshow() ile resmi gösterelim. Bu metod ile ayrıca resim özelliklerini değiştirebiliriz, daha sıcak veya soğuk yapabiliriz.
plt.show() #Resmimizi gösterelim.
Resim göstermek de bu kadar kolay. Ayrıca unutmayın ki sadece bir grafik türü kullanmak zorunda değiliz. Resmin üzerine çizgi grafiği de çizebilirdik.

Histogramlar

matplotlib ile histogram oluşturmak oldukça kolaydır. Sizin girdiğiniz veriler ile grafiği otomatik olarak oluşturur.


Histogram örneği

Çalışan yaşlarını bir grafikte topladık. Peki bu nasıl oldu?

Kod:
import matplotlib.pyplot as plt
calisan_yaslari = [22, 25, 23, 43, 25, 32, 29, 27, 35, 26, 25, 34, 38, 43, 34]
plt.hist(calisan_yaslari, [20, 25, 30, 35, 40, 45]) #Çalışan yaşlarını belirli aralıklarla gösterdik
plt.show()
Patika

matplotlib.path modülünü kullanarak kolayca patika ekleyebilirsiniz.


Örnek bir patika

Daha fazla bilgi için:
https://matplotlib.org/api/path_api.html

Üç Boyutlu Grafikler

matplotlib ile sadece iki boyutlu değil ayrıca mplot3d sayesinde üç boyutlu grafikler de çizebilirsiniz.


Örnek bir üç boyutlu grafik

Daha fazla bilgi için:
https://matplotlib.org/mpl_toolkits/.../tutorial.html

Sütün Grafikleri

bar() metodu ile sütün grafikleri çizebilirsiniz.


Örnek bir sütün grafiği

Bunu da oldukça basit bir şekilde yapabiliriz.

Kod:
import matplotlib.pyplot as plt
plt.bar([1, 2, 3, 4], [5, 12, 8, 19]) #Çizgi grafiği ile aynı şekilde plt.bar(x, y) şeklinde kullanıyoruz.
plt.show()
Daire Grafikleri

pie() metodu, daire grafikleri oluşturmanızı olanak sağlar. Ayrıca bu metod ile yüzdelik orana otomatik olarak bir etiket koyabilirsiniz, istediğiniz parçaları dairenin merkezinden uzaklaştırabilirsiniz ve gölge efektleri ekleyebilirsiniz.


Örnek bir daire grafiği

Yukarıda bahsettiklerimi bu kadar kolay bir şekilde yapabiliriz:
Kod:
import matplotlib.pyplot as plt
sehirler = 'İzmir', 'İstanbul', 'Ankara', 'Antalya'
boyutlar = [25, 35, 30, 10]
cikinti = (0, 0.1, 0, 0) #Sadece İstanbul'a çıkıntı ekleyelim
plt.pie(boyutlar, explode=cikinti, labels=sehirler, shadow=True) #Elimizdeki boyutlar, şehir isimleri ve çıkıntılar ile grafik çizelim. Ayrıca gölge ekleyelim
plt.show()
Tablolar

table() metodu ile grafiğimizin altına ayrıca daha açıklayıcı veriler vermek için tablo da çizebiliriz.


Bir grubun boy, kilo ve yaşlarını gösteren bir tablo

Kod:
import matplotlib.pyplot as plt
sutunlar = ['Boy', 'Kilo', 'Yaş']
siralar = ['Ali', 'Ahmet', 'Ayşe', 'Ezgi']
fig, ax = plt.subplots()
ax.axis('off') #Bunu asıl grafiği gizlemek için yapıyoruz. 
ax.table(cellText=[[180, 73, 24], [174, 72, 17], [169, 52, 19], [172, 61, 25]], rowLabels=satirlar, colLabels=siralar, loc='center') #Ekranın merkezine girilen veriler ile bir grafik çizelim
plt.show()
Saçılım Grafikleri

scatter() metodu ile saçılım grafiği çizebiliriz.


Örnek bir saçılım grafiği

Kod:
import matplotlib.pyplot as plt
plt.scatter([2, 5, 9, 4, 6, 7, 6], [3, 1, 11, 8, 9, 11, 2]) #Yine aynı şekilde x, y şeklinde veri giriyoruz
plt.show()
Dolu Eğriler

fill() metodları ile içi dolu eğriler ve çokgenler çizebiliriz.


Örnek bir şekil

Kod:
import matplotlib.pyplot as plt
plt.fill([1, 5, 9, 4], [2, 5, 0, 14]) #Yine aynı şekilde köşelerin x ve y kordinatlarını giriyoruz
plt.show()
Tarih Kullanma

Grafiklerimizi çizerken bir zaman çizelgesi ile çizebiliriz. Bunun ile zaman içindeki değişim gibi şeyler grafik haline getirilebilir.


Örnek bir grafik

Daha fazla bilgi:
https://matplotlib.org/api/ticker_ap...plotlib.ticker
https://matplotlib.org/api/dates_api...tplotlib.dates

Subplots

En çok kullanılan grafikler bu kadardı. Şimdiye kadar gösterdiğim örneklerin hepsinde bir ekranda bir tane grafik kullandık fakat daha güçlü grafikler için birden fazla grafik türü bir ekranda kullanılabilir. Bunun için subplots kullanıyoruz.


Aşağıdaki kod bloğu sayesinde bir ekranda birden çok grafik oluşturduk.

Kod:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2, figsize=(5, 5)) #Ekranda 5x5'lik grafikleri 2x2 şeklinde oluşturalım
ax[0, 0].plot([1, 2, 3, 4], [2, 4, 8, 16])
ax[1, 0].bar([1, 2, 3, 4], [5,  12, 8, 19])
ax[0, 1].scatter([2, 5, 9, 4, 6, 7, 6], [3, 1, 11, 8, 9, 11, 2])
ax[1, 1].fill([1, 5, 9, 4], [2, 5, 0, 14])
plt.show()
Grafiklere Daha Çok Bilgi Ekleme

Şu an basit grafikler çizebiliyoruz fakat bu grafiğimiz veya grafiğimizdeki veriler neyi gösteriyor bunu yazamıyoruz. Bunları yazmadan da grafiklerimiz pek bir anlam ifade etmiyor.

Mesela bir çizgi grafiğine birden çok çizgi eklersek hangisi neyi ifade ediyor veya x, y değerleri neyi ifade ediyor nasıl anlayacağız? Etiketler ile.


Gördüğünüz gibi bu grafik normal bir grafiğe göre çok daha açıklayıcı. Bunu ise birkaç basit satırda yapabiliriz:

Kod:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4, 5], [8, 24, 16, 11, 4], label='Birinci Çizgi') #Birinci Çizgi olduğunu label parametresi ile belirlelim
plt.plot([1, 2, 3, 4, 5], [25, 5, 13, 17, 6], label='İkinci Çizgi') #İkinci Çizgi olduğunu label parametresi ile belirtelim
plt.xlabel('X Değeri') #x etiketini X Değeri yapalım
plt.ylabel('Y Değeri') #y etiketini Y Değeri yapalım
plt.title('Örnek bir grafik') #Başlığı Örnek bir grafik yapalım
plt.legend() #Değişiklikleri yapalım
plt.show()


Kaynak: matplotlib.org
    

Konu Gbmdpof tarafından (25-05-2018 21:11 Saat 21:11 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt 16-05-2018 19:45   #2
  • Binbaşı
  • Üye Bilgileri
Üyelik tarihi
09/2016
Nereden
-
Mesajlar
Konular


  


Eline Sağlık. Konunun içeriği ilgimi çekti. Teşekkürler
    


___________________________________________

.-.*/-.*/-*./-56842-*-s-*98ss8
 Offline  
 
Alıntı ile Cevapla
Alt 16-05-2018 19:46   #3
  • Forumdan Uzaklaştırıldı
  • Üye Bilgileri
Üyelik tarihi
01/2016
Nereden
Nebula
Yaş
21
Mesajlar
Konular


  


Eline sagluk
    
 Offline  
 
Alıntı ile Cevapla
Alt 21-05-2018 18:57   #4
  • AR-GE Tim Lideri
  • Üye Bilgileri
Üyelik tarihi
10/2015
Nereden
k3pwn
Mesajlar
Konular


  


Eline sağlık
    


___________________________________________

TürkHackTeam | Araştırma - Geliştirme Timi


 Offline  
 
Alıntı ile Cevapla
Alt 21-05-2018 19:02   #5
  • Asteğmen
  • Üye Bilgileri
Üyelik tarihi
05/2018
Nereden
İstanbul
Mesajlar
Konular
8


  


Eline Sağlık
    


___________________________________________

ÖLÜNÜZÜ DİRİNİZİ HER GÜN BİRİNİZİ BİR GÜN HEPİNİZİ

 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz.
Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.



         

Powered by vBulletin® Copyright ©2000 - 2018

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google+

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.