Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

AST409 Astronomide Sayısal Çözümleme

Benzer bir sunumlar


... konulu sunumlar: "AST409 Astronomide Sayısal Çözümleme"— Sunum transkripti:

1 AST409 Astronomide Sayısal Çözümleme
V. Python’da Grafikler ve Eğri Uyumlama

2 matplotlib kütüphanesi
Python’da grafik çizmek için matplotlib kütüphanesinde yer alan ve matplotlib’in MATLAB gibi grafik üretmesini sağlayan komutların bir koleksiyonu olarak tanımlanabilecek matplolib.pyplot modülünü kullanacağız. Basit bir örnekle başlayalım. Örnek1 : import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.xlabel(“x”) plt.ylabel(“y”) plt.show() Örnek2 : plt.plot([1,2,3,4], [1,4,9,16], 'ro') plt.axis([0, 6, 0, 20]) plt.show()

3 pyplot uygulamaları Örnek 3: Örnek 4:
Birkaç grafiği aynı anda farklı sembollerle çizdirebilirsiniz! Örnek 3: import numpy as np import matplotlib.pyplot as plt # 200 ms’lik eşit aralıklarla 0-5 s arası #zaman değerlerimiz olsun t = np.arange(0., 5., 0.2) # Aşağıdaki her bir grafiği farklı #sembollerle gösterelim plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') plt.show() Yaratmış olduğunuz grafiklerin pek çok özelliğini kontrol edebilirsiniz! Örnek 4: x = np.arange(0,2*np.pi+np.pi/16.0,np.pi/16.0) y = np.sin(x) plt.plot(x, y, 'r-', linewidth = 2.0) plt.show()

4 pyplot ve çoklu grafikler
Birkaç farklı grafiği aynı anda aynı şekil üzerine çizdirebilirsiniz! Örnek 5 : import numpy as np import matplotlib.pyplot as plt def f(t): return np.exp(-t) * np.cos(2*np.pi*t) t1 = np.arange(0.0, 5.0, 0.1) t2 = np.arange(0.0, 5.0, 0.02) plt.figure(1) plt.subplot(211) plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') plt.subplot(212) plt.plot(t2, np.cos(2*np.pi*t2), 'r--') plt.show()

5 pyplot ve çoklu grafikler
Birkaç farklı grafiği aynı anda farklı şekiller üzerine çizdirebilirsiniz! Örnek 6 : # birinci sekil plt.figure(1) # ilk grafik plt.subplot(211) plt.plot([1,2,3]) # ikinci grafik plt.subplot(212) plt.plot([4,5,6]) # ikinci sekil, ilk grafik varsayilan olarak (111) plt.figure(2) # birinci sekil ilk grafigin basligini belirleyelim plt.title('Python Ogreniyorum!') # grafiklerimizi gosterelim plt.show()

6 pyplot ve metin yönetimi
Grafiklerin üzerine metin (text) ifadeler yerleştirebilirsiniz. Örnek 7 : # verimizi olusturalim mu, sigma = 100, 15 x = mu + sigma * np.random.randn(10000) # verimizden bir histogram olusturalim n, bins, patches = plt.hist(x, 50, normed=1, \ facecolor='g', alpha=0.75) # x eksenine bir baslik verelim plt.xlabel('Zeka') # y eksenine bir baslik verelim plt.ylabel('Olasilik') # grafigimize bir baslik verelim plt.title('IQ Histogrami') # ortalama ve standart sapmayi gosterelim plt.text(60, .025, r'$\mu=100,\ \sigma=15$') # eksen sinirlarimizi belirleyelim plt.axis([40, 160, 0, 0.03]) # grid (izgara) gosterelim plt.grid(True) plt.show()

7 pyplot ve metin yönetimi (2)
Grafikteki noktalarınızı etiketleyebilirsiniz Örnek 8 : # grafigimizi bir degiskene atayalim ax = plt.subplot(111) # t eksenini numpy arange fonksiyonu ile olusturalim t = np.arange(0.0, 5.0, 0.01) # s = cos(2 * PI * t) ifadesiyle fonksiyonumuzu olusturalim s = np.cos(2*np.pi*t) # grafigimizi bir cizim nesnesine alalim line, = plt.plot(t, s, lw=2) # noktamizi etiketleyelim plt.annotate('yerel maksimum', xy=(2, 1), xytext=(3, 1.5), arrowprops=dict(facecolor='black', shrink=0.05), ) # y ekseninin limitlerini belirleyelim plt.ylim(-2,2) plt.show()

8 Python ve Eğri Uyumlama
Basit bir doğru uyumlama örneği ile başlayalım Örnek 9 : import matplotlib.pyplot as plt import numpy as np x = [ , , , , , , ] y = [ , , , , , , ] katsayilar = np.polyfit(x, y, 1) polinom = np.poly1d(katsayilar) y_polinom = polinom(x) print katsayilar print polinom plt.plot(x, y, 'o') plt.plot(x, y_polinom) plt.ylabel('y') plt.xlabel('x') plt.xlim(-10,10) plt.ylim(-1,1) plt.show()

9 Python ve Eğri Uyumlama
Bir de 6. dereceden polinom uyumlaması deneyelim! Örnek 10 : x = [ , , , , , , , , , ] y = [ , , , , , , , , , ] katsayilar = np.polyfit(x, y, 6) polinom_6 = np.poly1d(katsayilar) x_polinom6 = np.arange(-2.2, 2.6, 0.1) y_polinom6= polinom_6(x_polinom6) plt.plot(x, y, 'o') plt.plot(x_polinom6, y_polinom6) plt.ylabel('y') plt.xlabel('x') plt.show()

10 Python ve Lineer Regresyon
scipy.stats.linregress modülü kullanarak lineer regresyon Örnek 11 : xi = np.arange(0,9) # x ile degisiminin lineer oldugu tahmininde buundugumuz y degiskenleri y = np.array([19, 20, 20.5, 21.5, 22, 23, 23, 25.5, 24]) egim, y_kesme, r_degeri, p_degeri, std_hata = stats.linregress(xi,y) print 'Korelasyon Katsayisi', r_degeri print ‘Sr degeri', sr_degeri print 'Tahmin uzerindeki standart hata', std_hata dogru = egim*xi+y_kesme plt.plot(xi,dogru,'r-',xi,y,'o') plt.show()


"AST409 Astronomide Sayısal Çözümleme" indir ppt

Benzer bir sunumlar


Google Reklamları