Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 37

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
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 bir çok plotformda onu
çalıştırabilirsiniz.
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 tex formatına da
dönüştürebilmektedir.
GNUPLOT
• GnuPlot “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.info/ adresinden ücretsiz
indirelebilir.
• Windows için uygun sürüm gp420win32.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) 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), 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
• log10(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 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 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.5] sin(x),log(x)
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 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 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:2 with lines,"veriler.txt"
using 1:3 with lines
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 “Zaman”
set ylabel “Uretim”
• Grafiği tekrar çizmek için;

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 title "Domates"
,"veriler.txt" using 1:3 w l title "Patates"
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 kullanılır.


unset xlabel;unset ylabel;unset title
Grid Ekleme
set grid;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 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" 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" 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ş 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 abc

Türkçe karakterler için


Örnek Kullanım
Postscript Parametreleri-2
set term postscript 20 color enhanced
set output “rapor.eps”
set title “Y{/=15I}ll{/=15I}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" 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.
• 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 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.
• 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ı 2x2 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 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" 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" using 1:2 with linesp pt 5
title "1.sutun", "veriler.txt" using 1:3 with
linesp pt 9 title "2.sutun"

You might also like