Gnuplot ile Grafik Çizimi ve EPS-II

Verileri görselleştirmek ve analiz etmek, birçok alanda önemli bir görevdir. Bu görevi yerine getirmek için birçok grafik oluşturma aracı bulunmaktadır. Bu blog yazısında, GNUPLOT adlı güçlü bir araçtan bahsedeceğiz. GNUPLOT, verileri grafiklere dönüştürmek için kullanılan bir komut satırı aracıdır. Hem basit hem de karmaşık grafikler oluşturmak için geniş bir işlevselliğe sahiptir.

GNUPLOT, birçok veri formatını destekler ve kullanıcı dostu bir komut satırı arayüzüne sahiptir. Verileri içeren dosyaları okuyarak, çizgi grafikleri, sütun grafikleri, nokta grafikleri, histogramlar, yüzey grafikleri gibi farklı grafik türlerini oluşturabilir. Ayrıca, eksenlerin ölçeğini, renkleri, etiketleri, başlıkları ve diğer grafik özelliklerini özelleştirme imkanı sunar.

GNUPLOT’ın avantajlarından biri, birçok işletim sistemi için mevcut olmasıdır. Linux, Windows ve macOS gibi yaygın kullanılan işletim sistemlerinde çalışabilir. GNUPLOT, açık kaynak bir yazılımdır ve sürekli olarak geliştirilmektedir, bu da kullanıcıların güncellemelere erişebilmesini sağlar. Verileri grafiklere dönüştürmek ve analiz etmek için GNUPLOT’ı kullanmak, veri görselleştirmesi konusunda etkili bir çözüm sunar. Hem basit hem de karmaşık grafikler oluşturabilme yeteneği sayesinde, kullanıcıların ihtiyaçlarına uygun çözümler sunar. GNUPLOT’ın esneklik, geniş grafik seçenekleri ve kullanıcı dostu arayüzü, veri analizi ve görselleştirmesi için güçlü bir araç olarak tercih edilmesini sağlar.

red = "#FF0000"
green = "#0000ff"
blue = "#00ff00"
skyblue = "#ff00ff"
son = "#800000"

set yrange [150:330]
set xrange [0.5:4]
set style data histogram
set style histogram cluster gap 1.5
set style fill solid border -1
set boxwidth 1.0

set xtics font 'Helvetica, 18'
set xlabel 'Proxy JRC' font 'Helvetica, 20'
set ylabel 'Average Time for Identity Verification (second)' font 'Helvetica, 20'
set grid ytics

set title 'A Network with 20 Nodes' font 'Helvetica, 30'

plot '20node_data_authentication' using 2:xtic(1) ti 'Centralized Authentication' fs pattern 1 lc rgb red,
'' using 3:xtic(1) ti 'Oracle' fs pattern 2 lc rgb green,
'' using 4:xtic(1) ti 'Cost Function 1' fs pattern 3 lc rgb blue,
'' using 5:xtic(1) ti 'Cost Function 2' fs pattern 4 lc rgb skyblue

set terminal postscript eps enhanced color solid linewidth 0.8 'Helvetica, 15'
set output '20node_data_authentication_temp.eps'

Yukarıdaki kod, GNUPLOT kullanarak bir histogram grafiği oluşturmak için bir örnektir. Aşağıda kodun adım adım açıklaması bulunmaktadır:

  1. Renk Değişkenleri:
    İlk olarak, grafikte kullanılacak renkleri tanımlamak için değişkenler oluşturulmuştur. Bu örnekte, “red”, “green”, “blue”, “skyblue” ve “son” adında beş renk değişkeni tanımlanmıştır.
  2. Eksen Ayarları:
    Grafikteki y ve x eksenlerinin sınırları ve görüntülenecek veri aralığı ayarlanmıştır. “set yrange” ve “set xrange” komutları ile y ve x eksenlerinin sınırları belirlenmiştir.
  3. Grafik Stili:
    Grafiğin histogram stiliyle çizilmesi için “set style data histogram” komutu kullanılmıştır. Ayrıca, çubuklar arasındaki boşluk, dolgu stili ve kenarlık ayarları da yapılmıştır.
  4. Eksen Etiketleri ve Başlık:
    X ve y eksenlerinin etiketleri “set xlabel” ve “set ylabel” komutlarıyla belirlenmiştir. Ayrıca, grafik başlığı “set title” komutu ile ayarlanmıştır.
  5. Veri Çizimi:
    Grafiğin çizimini yapmak için “plot” komutu kullanılmıştır. Bu komutta, çizilecek verilerin dosyadan okunması ve her bir veri setinin rengi, dolgu stili ve başlığı belirtilmiştir.
  6. Çıktı Ayarları:
    Grafiğin çıktısını almak için “set terminal” ve “set output” komutları kullanılmıştır. Bu örnekte, çıktı EPS formatında bir dosyaya kaydedilmiştir.

Son olarak, “replot” komutuyla grafiğin çizimi gerçekleştirilmiştir.

20node_data_authentication adlı veri dosyası;

Output;

Bu kod, “20node_data_authentication” adlı veri dosyasından verileri okuyarak, farklı veri setlerini histogram grafiği olarak çizmektedir. Grafikteki renkler, dolgu stilleri ve başlıklar, veri setlerini ayırt etmek için kullanılmaktadır.