GNUPLOT ZM PROGRAMI Hazrlayan Hakan KUTUCU GNUPLOT Grselletirme

  • Slides: 37
Download presentation
GNUPLOT ÇİZİM PROGRAMI Hazırlayan: Hakan KUTUCU

GNUPLOT ÇİZİM PROGRAMI Hazırlayan: Hakan KUTUCU

GNUPLOT • Görselleştirme, herhangi bir problemin sonuçlarını analiz etmek ve göstermek için veri işleme

GNUPLOT • Görselleştirme, herhangi bir problemin sonuçlarını analiz etmek ve göstermek için veri işleme sonucunda yapılan önemli bir unsurdur. • Taşınabilir bilimsel bir görselleştirme programıdır. • Platform bagımsızdır çünkü basta UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari olmak üzere çalıştırabilirsiniz. bir çok plotformda onu

GNUPLOT • Gnuplot fonksiyonların ve verilerin grafigini komut vererek çizen bir yazılımdır. • Özellikle

GNUPLOT • Gnuplot fonksiyonların ve verilerin grafigini komut vererek çizen bir yazılımdır. • Özellikle eps ve ps formatlarında görselleştirme yaptığı için Matematikçiler için idealdir. • Latex için grafikleri dönüştürebilmektedir. tex formatına da

GNUPLOT • Gnu. Plot “case sensitive” bir programdır. (Büyük harflerle yazılan komutlar çalışmayacaktır. )

GNUPLOT • Gnu. Plot “case sensitive” bir programdır. (Büyük harflerle yazılan komutlar çalışmayacaktır. ) • Komutlar birden fazla parametre içerebilirler. • Bir satıra birden fazla komut yazılabilir. Komutlar noktalı virgül (; ) ile ayrılmalıdır.

GNUPLOT-Kurulum • Gnuplot yazılımı ücretsiz ve açık kaynak kodlu bir programdır. • http: //www.

GNUPLOT-Kurulum • Gnuplot yazılımı ücretsiz ve açık kaynak kodlu bir programdır. • http: //www. gnuplot. info/ adresinden ücretsiz indirelebilir. • Windows için uygun sürüm gp 420 win 32. zip • Programı çalıştırmak için herhangi bir kurulum prosedürü yoktur. • “bin” adlı klasördeki “wgnuplot. exe” dosyası çift tıklanır.

GNUPLOT ile Çizim Yapmak • Gnuplot’un içinde tanımlı gelen, temel fonksiyonlar vardır. Örnegin sin(x)

GNUPLOT ile Çizim Yapmak • Gnuplot’un içinde tanımlı gelen, temel fonksiyonlar vardır. Örnegin sin(x) fonksiyonu bunlardan biridir. Eger bu fonksiyonun grafigini çizmek istersek verecegimiz komut en basit haliyle: plot sin(x)

Tanımlı Bazı Fonksiyonlar • abs(x) mutlak deger alır • cos(x), sin(x), tan(x) • cosh(x),

Tanımlı Bazı Fonksiyonlar • abs(x) mutlak deger alır • cos(x), sin(x), tan(x) • cosh(x), sinh(x), tanh(x) • acosh(x), asinh(x), atanh(x) • ceil(x) x’den büyük en küçük tamsayıyı verir • exp(x) ex isleminin sonucunu verir • floor(x) x’den küçük en büyük tamsayıyı verir • int(x) x’in tam kısmını verir • log(x) dogal logaritma alır • log 10(x) 10 tabanına göre logaritma alır • sqrt(x) x’in karekökünü alır

GNUPLOT ile Çizim Yapmak • Birden fazla çizim yapmak istiyorsak, fonksiyonlar birbirlerinden virgül isareti

GNUPLOT ile Çizim Yapmak • Birden fazla çizim yapmak istiyorsak, fonksiyonlar birbirlerinden virgül isareti ile ayrılır. • Örnegin log(x) ve sin(x) çizimi için yazılacak komut: plot sin(x), log(x)

Eksenlerin Tanımlanması • Fonksiyonun çizim aralığının otomatik olarak seçildigine dikkat edelim. • Bunu istersek

Eksenlerin Tanımlanması • Fonksiyonun çizim aralığının otomatik olarak seçildigine dikkat edelim. • Bunu istersek değiştirmek istersek, örnegin az önceki çizimi x ekseni üzerinde -5 ile 7 aralığında çizmek istersek, verecegimiz komut: plot [-5: 7] sin(x), log(x)

Eksenlerin Tanımlanması • Aynı şekilde y-ekseninde de sınırlandırma yapabiliriz: plot [-5: 7][-2. 5: 0.

Eksenlerin Tanımlanması • Aynı şekilde y-ekseninde de sınırlandırma yapabiliriz: plot [-5: 7][-2. 5: 0. 5] sin(x), log(x)

Dosyadan Veri Okumak plot “veriler. txt” • Bu komut "veriler. txt" adlı dosyanın içindeki

Dosyadan Veri Okumak plot “veriler. txt” • Bu komut "veriler. txt" adlı dosyanın içindeki iki sütunun ilkini x değerleri ikincisini de y değerleri olarak dikkate alır ve çizim yapar.

Dosyadan Veri Okumak • Eğer veri dosyası içinde ikiden fazla sütun varsa, bu durumda

Dosyadan Veri Okumak • Eğer veri dosyası içinde ikiden fazla sütun varsa, bu durumda hangi sütunlarla ilgilendiğimizi belirtmemiz gerekir. • Aşağıdaki komutta, x değerlerinin birinci, y değerlerinin ise üçüncü sütunda olduğu belirtilmiştir. plot "veriler. txt" using 1: 3

Dosyadan Veri Okumak • Bazen dosyadaki verileri dogrudan çizdirmek yerine, bunları bir işleme tabi

Dosyadan Veri Okumak • Bazen dosyadaki verileri dogrudan çizdirmek yerine, bunları bir işleme tabi tutup elde edeceğimiz sonuçlara göre çizim yapmak isteyebiliriz. Bu durumda sütunların degişken olarak anlaşılabilmesi için başlarına $ işareti yazılması gereklidir. plot "veriler. txt" using ($1*5): (sin($3))

Dosyadan Veri Okumak • Birden fazla çizim yapmak istenirse; plot "veriler. txt" using 1:

Dosyadan Veri Okumak • Birden fazla çizim yapmak istenirse; plot "veriler. txt" using 1: 2 with lines, "veriler. txt" using 1: 3 with lines

Dosyadan Veri Okumak plot "veriler. txt" using 1: 2 with linesp ps 2 pt

Dosyadan Veri Okumak plot "veriler. txt" using 1: 2 with linesp ps 2 pt 5 lw 3 ps: pointsize pt: pointtype lw: linewidth Desteklenen tüm renkler ve tüm çizim türlerini görüntülemek için; test

Başlık ve Eksen Etiketleri • x ve y eksenlerine etiket vermek için; set xlabel

Başlık ve Eksen Etiketleri • x ve y eksenlerine etiket vermek için; set xlabel “Zaman” set ylabel “Uretim” • Grafiği tekrar çizmek için; replot

Grafiğe Başlık Ekleme set title “Yillik Uretim Grafigi" replot

Grafiğe Başlık Ekleme set title “Yillik Uretim Grafigi" replot

Grafikteki Her Data Bloğuna Etiket Eklemek plot "veriler. txt" using 1: 2 w l

Grafikteki Her Data Bloğuna Etiket Eklemek plot "veriler. txt" using 1: 2 w l title "Domates" , "veriler. txt" using 1: 3 w l title "Patates"

Eksenleri Çizdirmek set zeroaxis plot sin(x), log(x)

Eksenleri Çizdirmek set zeroaxis plot sin(x), log(x)

Etiketleri Kaldırmak set zeroaxis plot sin(x), log(x) Set edilen etiketleri silmek için unset komutu

Etiketleri Kaldırmak set zeroaxis plot sin(x), log(x) Set edilen etiketleri silmek için unset komutu kullanılır. unset xlabel; unset ylabel; unset title

Grid Ekleme set grid; replot

Grid Ekleme set grid; replot

Eksenlerdeki Tikleri Artırmak set xtics 1; replot

Eksenlerdeki Tikleri Artırmak set xtics 1; replot

Terminal Türleri • Tüm çizimlerimizi su ana kadar bir pencere üzerinde görüntüledik. • Bu

Terminal Türleri • Tüm çizimlerimizi su ana kadar bir pencere üzerinde görüntüledik. • Bu pencere gnuplot’un çizim terminali olarak adlandırılır. • İstersek çizimleri farklı türde dosyalar(terminaller) içine de yapabiliriz. • Bu durumda terminali ve çıktıların kaydedileceği dosyanın adını belirtmemiz gerekir. • Gnuplot’un destekledigi terminalleri görebilmek için: set terminal

Terminal Türleri • Önceki komutlarda bizim kullandıgımız terminalin adı "windows"tur. • Örnek: "veriler. txt"

Terminal Türleri • Önceki komutlarda bizim kullandıgımız terminalin adı "windows"tur. • Örnek: "veriler. txt" dosyasındaki sütunlar ile bir işlem yapıp, sonucu "rapor. eps" adlı dosyaya kaydedelim. set term postscript set output "rapor. eps" plot "veriler. txt" using 1: ($2*$3) w linesp pt 6

Postscript Parametreleri set term postscript 20 color set output "rapor. eps" plot "veriler. txt"

Postscript Parametreleri set term postscript 20 color set output "rapor. eps" plot "veriler. txt" using 1: ($2*$3) w linesp pt 6 • 20 punta büyüklüğünü, • color ise renkli olmasını belirtiyor.

Postscript Parametreleri-2 set term postscript 20 color enhanced • “enhanced" seçenegi kullanıldıgı zaman biçimlendirilmiş

Postscript Parametreleri-2 set term postscript 20 color enhanced • “enhanced" seçenegi kullanıldıgı zaman biçimlendirilmiş yazım yapılabilir. • Yani, alt/üst simgeler gibi çeşitli yazımlar gerçeklestirilebilir. • Gnuplot yazılımında olan en büyük problem Türkçe karakterleri desteklemiyor olmasıdır. • Bunu çözmek için ise bu "gelişmiş" yazım formatlamayı kullanabiliriz.

Postscript Parametreleri-2 Kullanım Çıktı a^x ax a_x ax a@^b_c ab c Türkçe karakterler için

Postscript Parametreleri-2 Kullanım Çıktı a^x ax a_x ax a@^b_c ab c Türkçe karakterler için

Örnek Kullanım

Örnek Kullanım

Postscript Parametreleri-2 set term postscript 20 color enhanced set output “rapor. eps” set title

Postscript Parametreleri-2 set term postscript 20 color enhanced set output “rapor. eps” set title “Y{/=15 I}ll{/=15 I}k ~U{. 8. . }retim Grafi~g{. 4\~}i” set xlabel “Zaman” set ylabel “~U{. 8. . }retim” replot

Gif Olarak Kaydetmek set term gif large set output "rapor. gif" plot "veriler. txt"

Gif Olarak Kaydetmek set term gif large set output "rapor. gif" plot "veriler. txt" using 1: ($2*$3) w linesp pt 20

Dosya Kaydetme ve Çağırma • Yaptığımız tüm ayarlar, gnuplot programı kapanınca eski haline dönecektir.

Dosya Kaydetme ve Çağırma • Yaptığımız tüm ayarlar, gnuplot programı kapanınca eski haline dönecektir. • Eger çizimlerin nasıl görünecegi ile ilgili çok miktarda değişiklik yaptıysak, bunları bir dosyaya kaydedip, sonraki çalışmada geri çağırmak ayarları eski haline getirir. save “ayarlar. plt” load “ayarlar. plt”

Multiplot • Bir grafik üzerine birden fazla çizim yapmayı görmüstük. • Gnuplot’ta ayrıca belirli

Multiplot • Bir grafik üzerine birden fazla çizim yapmayı görmüstük. • Gnuplot’ta ayrıca belirli sayıda grafik mozaik yapıda birleştirilebilmektedir. • Bunun için "multiplot" özelligi aktif hale getirilmelidir. set multiplot

Multiplot • Bu komut verildikten sonra prompt yerinde artık "gnuplot" degil "multiplot" ifadesi yazılır.

Multiplot • Bu komut verildikten sonra prompt yerinde artık "gnuplot" degil "multiplot" ifadesi yazılır. • Komuttan sonra açılan boş bir pencere açılacaktır. Bu pencereyi kapatmayınız. • Bu moddan çıkmak istedigimiz zaman ise verecegimiz komut: unset multiplot

Multiplot set multiplot layout 2, 2 title “Grafikler" • Bu komut sayfayı 2 x

Multiplot set multiplot layout 2, 2 title “Grafikler" • Bu komut sayfayı 2 x 2 lik bloklara böler. Her bloğa bir grafik çizilebilir. • Set edilen ayarlar çizilecek tüm grakiler için geçerlidir. set xlabel "X-ekseni" set ylabel "Y-ekseni" set title "Cizim -1" plot 2*sin(x) notitle

Multiplot • Set edilen ayarlar çizilecek tüm grakiler için geçerlidir. • 2. grafiği çizmek

Multiplot • Set edilen ayarlar çizilecek tüm grakiler için geçerlidir. • 2. grafiği çizmek için; set title "Cizim-2" multiplot> plot x**3 notitle

Multiplot • 3. grafiği dosyadan veri okutarak çizdirelim. set title "Cizim-3“ plot "veriler. txt"

Multiplot • 3. grafiği dosyadan veri okutarak çizdirelim. set title "Cizim-3“ plot "veriler. txt" using 1: 2 with linesp ps 2 pt 5 notitle

Multiplot • 4. grafiği dosyadan veri okutarak çizdirelim. set title "Cizim-4“ plot "veriler. txt"

Multiplot • 4. grafiği dosyadan veri okutarak çizdirelim. set title "Cizim-4“ plot "veriler. txt" using 1: 2 with linesp pt 5 title "1. sutun", "veriler. txt" using 1: 3 with linesp pt 9 title "2. sutun"