Notatki z Gnuplota (under construction)

Podobne dokumenty
GNUPLOT Wprowadzenie. dr inż. Marzena Tefelska Wydział Fizyki Politechnika Warszawska 2015

Wstęp do gnuplota. Dominik Perykasza. 1 Wstęp 2. 2 Rysowanie wykresów Modyfikacja parametrów wykresu Modyfikowanie styli...

Wprowadzenie do programu gnuplot

gnuplot - wprowadzenie

Lekcja 12 - POMOCNICY

Lekcja 3 Banki i nowe przedmioty

GNUPLOT Wprowadzenie. dr inż. Marzena Sala-Tefelska Wydział Fizyki Politechnika Warszawska 2017

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Wizualizacja danych 2D i 3D - Gnuplot

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

GnuPlot. Program do tworzenia wykresów. Zbigniew Koza. Uniwersytet Wrocławski Instytut Fizyki Teoretycznej. GnuPlot p. 1/30

Lekcja 6 Programowanie - Zaawansowane

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 3 - BANKI I NOWE PRZEDMIOTY

Analizowanie danych. Katarzyna Grzelak. listopad K.Grzelak (IFD UW) 1 / 24

Lekcja 9 Liczby losowe, zmienne, staªe

Funkcje, wielomiany. Informacje pomocnicze

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Metodydowodzenia twierdzeń

Wstawianie gotowych rysunków w texu - informacje podstawowe.

Wizualizacja danych 2D i 3D - Gnuplot

Liniowe zadania najmniejszych kwadratów

Gnuplot wprowadzenie v. 2.0

Lekcja 5 Programowanie - Nowicjusz

1. Wprowadzenie do C/C++

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

1. Wprowadzenie do C/C++

x y x y x y x + y x y

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia

7. OPRACOWYWANIE DANYCH I PROWADZENIE OBLICZEŃ powtórka

Informacje pomocnicze

Wektory w przestrzeni

1 Bª dy i arytmetyka zmiennopozycyjna

Materiaªy do Repetytorium z matematyki

Wizualizacja danych - Gnuplot

Elementy geometrii w przestrzeni R 3

Lekcja 2 - BUDUJEMY I CZARUJEMY

Aproksymacja funkcji metod najmniejszych kwadratów

Elementy geometrii analitycznej w przestrzeni

P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);

Wska¹niki, tablice dynamiczne wielowymiarowe

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

Arytmetyka zmiennopozycyjna

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Wizualizacja danych 2D i 3D - Gnuplot

Ekonometria - wykªad 8

Modele liniowe i mieszane na przykªadzie analizy danych biologicznych - Wykªad 1

Logika dla matematyków i informatyków Wykªad 1

Dyskretyzacja i kwantyzacja obrazów

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Baza danych - Access. 2 Budowa bazy danych

geometry a w przypadku istnienia notki na marginesie: 1 z 5

Listy i operacje pytania

2 Liczby rzeczywiste - cz. 2

Funkcje wielu zmiennych

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Kurs z matematyki - zadania

Wykªad 4. Funkcje wielu zmiennych.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Interpolacja Lagrange'a, bazy wielomianów

Lab. 02: Algorytm Schrage

Mathematica - podstawy

zajęcia 2 Definiowanie wektorów:

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

S88 Badanie rzutu kostką sześcienną

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Podstawy modelowania w j zyku UML

Gnuplot. narzędzie do tworzenia wykresów

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Wprowadzenie do Gnuplota

Technologie Informacyjne

gnuplot czyli jak zrobić wykres, żeby się nie narobić

Funkcje wielu zmiennych

Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

Zbiory i odwzorowania

Ekstremalnie fajne równania

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

2 Skªadnia polece«w pliku

Przewodnik u»ytkownika

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Bazy danych, 4. wiczenia

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Podstawy modelowania w j zyku UML

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

2. L(a u) = al( u) dla dowolnych u U i a R. Uwaga 1. Warunki 1., 2. mo»na zast pi jednym warunkiem: L(a u + b v) = al( u) + bl( v)

1 Metody iteracyjne rozwi zywania równania f(x)=0

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Transkrypt:

Notatki z Gnuplota (under construction) Witold Alda Contents 1 W ramach wprowadzenia 2 2 Podstawy Gnuplota 3 2.1 Rysowanie wykresu - komenda plot............... 3 2.1.1 Zakresy argumentów i zakresy osi............ 4 2.1.2 Wybór osi do skalowania rysunku............ 4 2.1.3 Nazywanie wykresu.................... 4 2.1.4 Wybór stylu linii wykresu................ 5 2.2 Uzupeªnienia........................... 5 2.3 Modykacja parametrów wykresu komenda set....... 6 2.3.1 Opis tekstowy rysunku.................. 6 2.3.2 Modykowanie osi.................... 7 2.4 Modykowanie stylów kre±lenia................. 7 2.5 Formatowanie caªo±ci rysunku.................. 8 2.6 Rysowanie osi........................... 9 3 Zmienne, wyra»enia, funkcje 10 4 Przygotowanie rysunku do druku 12 5 Rysowanie wykresów na podstawie danych z pliku 13 5.1 Brakuj ce warto±ci w plikach danych.............. 15 5.1.1 Wygªadzanie danych i sumowanie danych........ 16 6 Dopasowanie wykresów metod najmniejszych kwadratów 16 1

7 Ró»ne pytania dotycz ce Gnuplota 17 7.1 Wykresy 2D............................ 17 7.1.1 U»ycie dwóch ró»nych osi Y............... 17 7.1.2 Jak usun osie?..................... 17 7.1.3 Jak narysowa wykres w okienku kwadratowym lub o innych zadanych proporcjach?.............. 18 7.1.4 Jak narysowa o± zerow?................ 18 7.1.5 Wi ksze litery w opisach................. 18 7.1.6 Kilka wykresów na jednym obrazku........... 19 7.1.7 Animacja w Gnuplocie.................. 19 1 W ramach wprowadzenia Gnuplot jest popularnym i uniwersalnym programem do przedstawiania danych 2D i 3D w formie ró»nych wykresów. Program jest udost pniony jako freeware i daje si uruchomi na praktycznie ka»dej platformie. Ze strony www.gnuplot.info mo»na ±ci gn pliki binarne z programem, na popularne platformy (m.in. Linux, Windows) oraz plik ¹ródªowy do skompilowania. Gnuplot jest programem sterowanym komendami, wªa±ciwie bez gracznego interfejsu u»ytkownika. Praca w gnuplocie odbywa si w dwóch podstawowych trybach: 1. bezpo±rednim - gdy w linii polece«wpisuje si komendy i natychmiast je wykonuje; 2. z u»yciem skryptów przygotowanych wcze±niej i wywoªywanych za pomoc komend load lub call Mo»na jeszcze dodatkowo wyró»ni trzeci tryb polegaj cy na uruchomieniu gnuplota z plikiem skryptu jako parametrem. Po uruchomieniu gnuplota mo»emy skorzystac z pomocy. Wpisanie komendy help spowoduje wy±wietlenie podstawowych informacji o programie i listy sugerowanych tematów. Komenda help help podpowiada jak skorzysta z systemu pomocy. Wykonanie komendy help <nazwa polecenia> pozwala na uzyskanie szczegóªowych informacji na interesuj cy nas temat. 2

2 Podstawy Gnuplota Rozpoczynymy od standardowego podej±cia. Gnuplot zostaje uruchomiony w okienku tekstowym poleceniem gnuplot i wchodzi w stan oczekiwania na komendy. W wersji dla systemu Windows mo»na u»y - i zazwyczaj tak si robi - polecenia wgnuplot, które powoduje owarcie oddzielnego okienka o nieco bogatszym interfejsie z rozwijanym menu i wygodniejszym systemem help. 2.1 Rysowanie wykresu - komenda plot Podstawowymi komendami do rysowania wykresów s plot i splot. Pierwsza sªu»y do rysowania wykresów dwu wymiarowych, druga natomiast do rysowania wykresów w przestrzeni 3D. Skªadnie obu polece«s do± rozbudowane, a przy tym zbli»one do siebie. W tym rozdziale zajmujemy si jedynie wykresami 2D. Wi kszo± parametrów jest opcjonalna. Obowi zkowe jest jedynie podanie ¹ródªa danych do rysowania w postaci formuªy (funkcji), nazwy pliku z danymi lub wskazania tzw. pseudopliku. Zatem najprostsz form wywoªania komendy plot jest np. lub plot cos(x) plot "dane_01_04_2010" Zwykle jednak najprostsza posta komendy nie jest wystarczaj ca do wykonania wykresu, który nas mo»e zadowoli. Droga pomi dzy pierwszym, byle jakim, wykresem a wykresem doskonaªym mo»e byc dosy uci»liwa. Peªna posta komendy jest nast puj ca (parametry w nawiasach klamrowych s opcjonalne): plot {<ranges>} {<function> {"<datafile>" {datafile-modifiers}}} {axes <axes>} {<title-spec>} {with <style>} {, {definitions,} <function>...} <function> ''<datafile>'' Przeanalizujmy stopniowo parametry opcjonalne, które mo»na dodawa. Najprostsza posta, np. wspomniana ju» 3

plot cos(x) narysuje oczywi±cie wykres funkcji cosinus, zakªadaj c przy tym wiele warto±ci domy±lnych: zakres argumentu x, rodzaj linii, etc. 2.1.1 Zakresy argumentów i zakresy osi W parametrze <ranges>, wewn trz komendy plot, deniujemy zakresy warto±ci x,y dla których chcemy wygenerowa rysunek. W trybie domy±lnym je»eli nie podamy tego parametru zakres dla argumentu x ustalony jest na [- 10:10]. Do zakresu x dopasowywany jest zakres osi. Zakres dla osi y jest dobierany(skalowany) automatycznie na postawie wyliczonych warto±ci funkcji - tak»eby wykres miesciª si na rysunku. Poni»sze przykªady powinny wyjasni dziaªanie <ranges>: plot [-5:5] cos(x) ustalony zakres x, zakres y automatyczny plot [-7:7][-1.5:1.5] cos(x) ustalony zakres x i y plot [:][-1.5:1.5] cos(x) ustalony zakres y, zakres x domy±lny plot [][-1.5:1.5] cos(x) ustalony zakres y, zakres x domy±lny plot [-3:] cos(x) ustalony dolny zakres x górny domy±lny plot [:][:2] cos(x) ustalony górny zakres y dolny automatyczny 2.1.2 Wybór osi do skalowania rysunku Wybór osi, wzgl dem których rysowany jest wykres, deniuje si przez podanie komendy axes <axes>. Na pojedynczym rysunku zawsze istniej 4 zestawy par osi (x,y) wedªug których skalowane jest rysowanie funkcji. Domy±ln par jest dolna o± x i lewa o± y, oznaczone w parametrze axes jako axes x1y1. Pozostaªe 3 pary wybierzemy u»ywaj c: axes x1y2 (dolna x, prawa y), axes x2y1 (górna x, lewa y), axes x2y2 (górna x, lewa y). Zakres ustawiany w parametrze <ranges> odnosi si do wyª cznie do wybranej pary osi. Wi cej o osiach, a szczególnie o ich opisie - w jednym z dalszych rozdziaªów. 2.1.3 Nazywanie wykresu Parametr title <title-spec> deniuje nazw funkcji (lub nazw pliku danych), która domy±lnie pojawia si w lewym górnym rysunku jako opis 4

wykresu. Na przykªad mo»emy u»y : plot sin(x) title "nasz wªasny sinusek" 2.1.4 Wybór stylu linii wykresu Za pomoc parametru with <style> mo»emy okre±li w jaki sposob ma by rysowana funkcja, np za pomoc linii, kropek, pionowych kresek, itp. W pomocy gnuplota help with mo»na odczyta 28 stylów, cho du»a ich cz ± bardziej nadaje si wykresów na podstawie danych z pliku. 2.2 Uzupeªnienia Skracanie nazw komend i parametrów W gnuplocie mo»na skraca nazwy tak dªugo, dopóki nie powoduje to niejednoznacznej interpretacji. W szczególno±ci komend plot mo»na skróci do plo, pl i p. Na przykªad polecenie plot sin(x) title "mój sinus" with impulses mo»na zapisa jako p sin(x) t "mój sinus" w i Je»eli nazwa parametru skªada si z dwóch cz sci, np. linespoints poprawny jest te» dwuliterowy skrót z pierwszych liter ka»dej cz sci: lp. Oczywi±cie poprawne s te» skróty linespoint, linespoin, linespoi, linespo, linesp. Ale ju» lines i jego skróty do l wª cznie b da oznaczaªy inny styl. Kilka wykresów na jednym rysunku. W gnuplocie bardzo ªatwo si to robi oddzielaj c specykacje wykresów przecinkami, na przykªad: plot sin(x) t "sinusek", x*x t "parabola", 4*x t "prosta" Powtarzanie rysowania. Jest to komenda bardzo przydatna w pracy bezpo±redniej zwªaszcza w sytuacji, gdy wydali±my dªug komend plot z wieloma parametrami, a nast pnie musimy j powtórzy bo dokonali±my innych modykacji rysunku. Šatwiej wtedy wyda krótk komend replot, bez»adnych parametrów. replot mo»na skróci do rep, napisanie re wywoªa inn komend (reread), a samo r jest bª dem. 5

2.3 Modykacja parametrów wykresu komenda set Tworz c rysunek z wykresem w dowolnym programie musimy okre±li jego parametry takie jak np. tytuª rysunku, podpisy osi, dodatkowe opisy itp. W gnuplocie robimy to za pomoc komendy set. Jest to najbardziej rozbudowana komenda gnuplota, za pomoc której ustawiamy wszystkie atrybuty rysunku. Równiez takie atrybuty, które poznali±my w komendzie plot, jak zakresy na osiach lub styl rysowania mog by alternatywnie (i cz sto z wi kszymi mo»liwo±ciami) ustawione komend set. Za pomoc komendy reset mo»emy usun wszystkie nasze ustawienia i powróci do warto±ci domy±lnych. Komenda jest przydatna gdy chcemy wszystko zacz c od nowa, lub tak namieszali±my,»e szkoda czasu na odwracanie poszczególnych ustawie«. Komenda show all spowoduje wy±wietlenie wszystkich parametrów, jednak wygodniej jest wy±wietla warto±ci wybranych parametrów lub grup parametrów pisz c show <nazwa parametru>. Przykªadowo show style spowoduje przy domy±lnych ustawieniach wypisanie tekstu: Data are plotted with points Functions are plotted with lines. Fill style is empty with border... itd 2.3.1 Opis tekstowy rysunku W gnuplocie tekstowe opisy rysunku moga przyj form tytuªu caªego rysunku, podpisu osi lub tekstów umieszczanych w dowolnych miejscach rysunku. Teksty deniuje si komendami set title, set xlabel, set ylabel, set x2label, set y2label, set label <numer tekstu>. Do tego mo»na jeszcze doda set zlabel dla wykresów 3D. We wszystkich komendach (logiczne) mo»na ustawi poza samym tekstem, który ma by wstawiony jego poªo»enie, krój czcionki i rozmiar liter, kolor i orientacj (poziomo czy pionowo). Przykªad 5: set title "Mój pierwszy rysunek" set xlabel "k t w radianach" set ylabel "y=cos(x)" 6

set xrange [0: 2*pi] set xtics ("0" 0, "" pi/4, "90" pi/2, "" 3*pi/4, "180" pi, \ "" 5*pi/4, "270" 3*pi/2, "" 7*pi/4, "360" 2*pi) set grid plot cos(x) title "cosinus" set xtics 0, pi/4 replot 2.3.2 Modykowanie osi W powy»szym przykªadzie komenda title dodaje do caªego rysunku nazw (tytuª), która domy±lnie pojawi si centralnie nad górn osi x. Komendy xlabel i ylabel zdeniuj podpisy osi x, y, a set xrange okre±la zakres zmiennej x. Komenda set xtics (0 0,...) ustawia napisy na osi x, tak aby podane byªy w stopniach. Komenda set grids dodaje do rysunku siatk pomocnicz. Wykres narysowany komenda plot ma nadan nazw sinus przy pomocy parametru title (który jest czym innym ni» komenda set title!) Ostatecznie stosuj c ponownie komend xtics ustawia si napisy na osi x tak aby podane byªy w radianach (napisy pojawi si pocz wszy od 0, co π/4). 2.4 Modykowanie stylów kre±lenia W gnuplocie mo»emy ªatwo zmienia zarówno styl linii (ci gªa lub przerywana), jej kolor, szeroko±, symbole reprezentuj ce punkty oraz ich rozmiar. W rozpoznaniu mo»liwo±ci rysowania bardzo pomocna jest komenda test, która wy±wietla dost pne w danej konguracji kolory, typy punktów i przykªadowe grubo±ci linii. Styl linii zmieniamy stosuj c parametr with w komendzie plot. plot sin(x) with linespoints wyrysuje nam funkcje w postaci krzy»yków poª czonych lini. Inne mo»liwe style linii to np. lines (domy±lny), impulses (pionowe kreski od zera do okreslonej warto±ci), boxes, dots, points, steps, itp. Aby zmieni kolor linii (lub typ linii w terminalach nie zapewniaj cych koloru), szeroko± linii, typ punktów, rozmiar punktów odwoªujemy si do nast puj cych okre±le«: linetype, linewidth, pointtype, pointsize lub ich skrótów: lt, lw, pt, ps. 7

Komenda plot sin(x) with linespoints lt 2 lw 2 pt 12 ps 3, cos(x) lub jej odpowiednik plot sin(x) with linespoints linetype 2 linewidth 2 pointtype 12 pointsize 3, cos(x) narysuje funkcj sin(x) za pomoc punktów poª czonych lini (linespoints), kolorem zielonym(lt 2) i o szeroko±ci równej 2 jednostkom(lw 2). Wybranym typem punktów (symboli) s romby(pt 12) a ich rozmiar to 3 jednostki(ps 3) Mo»liwe jest deniowanie wªasnych stylów linii i odwoªywanie si pó¹niej do nich za pomoc indeksów. Stosujemy w tym celu komend set linestyle numer indeksu... i okre±lenia lt, lw, pt, ps Komendy set linestyle 1 lt 2 lw 2 pt 12 ps 3 set linestyle 2 lt 3 lw 2 pt 3 ps 3 plot sin(x) with linespoints ls 1, cos(x) ls 2 deniuj style linii o indeksach 1 i 2. Do tak zdeniowanych stylów odwoªujemy si poprzez indeks w komendzie plot za pomoc parametru ls <numer indeksu> lub linestyle <numer indeksu>. 2.5 Formatowanie caªo±ci rysunku Standardowo rysunek jest zamkni ty w prostok cie czterema liniami. Przynajmniej dwie z tych linii pokrywaja si z osiami wykresu. Ustalane s przez komend set border. Posta komendy jest nast puj ca: set border {<integer>} {front back} {linewidth lw <line_width>} {{linestyle ls <line_style>} {linetype lt <line_type>}} Liczba wpisana w polu integer wskazuje na to, które linie ograniczaj ce s rysowane. Dla komendy plot liczba ta jest interpretowana jako pole czterobitowe, gdzie ka»dy bit wskazuje na inn lini : 8

linia maska warto± ograniczaj ca bitowa dziesi tna dolna 0001 1 lewa 0010 2 górna 0100 4 prawa 1000 8 Zatem komenda set border 6 wskazuje na to,»e narysuje si ograniczenie lewe i górne. Pozostaªe parametry wskazuj grubo±, styl i typ linii oraz to czy ograniczenie jest rysowane jest pod, czy nad pozostaªymi elementami rysunku (domy±lnie na wierzchu). Rozmiar i proporcje rysunku okre±lamy komend set size, podaj c jako jej parametry: square (wiadomo) lub ratio <warto± > (stosunek wysoko±ci do szeroko±ci) lub bezpo±rednio rozmiary x i y. 2.6 Rysowanie osi Stosuj komend plot zazwyczaj mamy do czynienia z dwiema osiami (poziom i pionow ) do których skalowane s dane. W rzeczywisto±ci mamy jednak do dyspozycji cztery osie oznaczone jako X, Y, X2, Y2. W prakyce mo»emy si spotka z sytuacj, w której np. potrzebne s nam dwie osie Y rysowane: jedna po lewej, a druga po prawej stronie. Np. gdy chcemy przedstawi na jednym rysunku dwie zale»no±ci na osi czasu: ilo± dwutlenku w gla w atmosferze i ±redni temperatur na Ziemi. Spodziewamy si,»e obie wielko±ci s skorelowane, wi c warto je przedstawi wspólnie, ale s wyra»one w zupeªnie innych jednostkach - st d dwie ró»ne osie. Osie s scharakteryzowane przez znaczniki (prostopadªe kreseczki zwane ticks) dzi ki którym odkªadamy na nich warto±ci. Mamy dwa rodzaje znaczników: du»e (major ticks) i maªe (minor ticks). Przy du»ych znacznikach wpisane s warto±ci, a przy maªych nie. Zajmijmy si tylko du»ymi znacznikami i to tylko na przykªadach: set xtics autofreq // warto± domy±lna set xtics 2 // pojedyncza warto± oznacza przyrost set xtics 20, 2 // dwie warto±ci: w. pocz tkowa, przyrost set xtics 20, 2, 40 // trzy warto±ci: w. pocz tkowa, przyrost, // w. ko«cowa 9

3 Zmienne, wyra»enia, funkcje W gnuplocie mo»na deniowa i stosowa zmienne. Deniowanie nast puje razem z instrukcj przypisania: a = 7.0 k = 5 l = k/2 m = k/2. Podczas deniowania typ zmiennej jest okre±lany przez typ przypisywanej warto±ci. Zatem a przechowuje zmienn zmiennoprzecinkow, a k staªoprzecinkow (caªkowit ). Po prawej stronie znaku przypisania mo»e si znajdowa wyra»enie zªo»one ze staªych i zmiennych, które maj ju» przypisan warto±. Przy wyliczaniu wyra»enia maj miejsce zwykªe reguªy konwersji typów. I tak l przyjmie warto± 2 (wynik dzielenia liczb caªkowitych), a m warto± 2.5 (wynik dzielenia liczby caªkowitej przez zmiennoprzecinkow ). Bie» ce warto±ci zmiennych zawsze mo»emy podejrze komend show variables, któr mo»emy skróci do sh v: gnuplot> sh v User and default variables: pi = 3.14159265358979 GNUTERM = "win" a = 7.0 k = 5 l = 2.5 k = 2 Przy okazji widzimy predeniowane warto±ci pi i tekstow GNUTERM. Typ zmiennej nie jest okre±lony raz na zawsze i zmieni si jesli zostanie mu przypisana warto± innego typu. W gnuplocie oprócz zmiennych mo»na deniowa wªasne funkcje, a nast pnie odwoªywa si do nich i u»ywac tak jak funkcji standardowych, na przykªad w komendzie rysowania plot i splot oraz dopasowywania funkcji funkcji do danych pomiarowych (fit). Funkcj deniujemy podobnie jak zmienn, np. 10

f(x) = x**3 + 4*x**2-2*x + 1 W ogólno±ci mo»e to by funkcja zale»na od maksymalnie 10 zmiennych, tak wi c poni»sza denicja jest poprawna: gauss(x, m, s) = exp(-.5*((x-m)/s)**2)/sqrt(2*pi*s**2) Jednak komendzie plot tylko jedna zmienna jest zmienn niezale»n, wzgl dem której rysujemy wykres, a pozostaªe peªni rol parametrów i musz mie± nadane konkretne warto±ci. Domy±lnie nazw zmiennej niezale»nej jest x, ale mo»na j zmieni na inn komend set dummy <nazwa zmiennej niezale»nej>, np set dummy m. Rzadko jednak si tak post puje i zazwyczaj lepiej pozostawi standardowe nazwy. W standardowym, nieparametrycznym trybie pracy funkcje deniujemy wi c za pomoc zmiennej x lub zmiennych x,y. W trybie parametrycznym u»ywamy standardowo zmiennej t, lub pary u, v. Zdefniowane funkcje mo»na wy±wietli za pomoc komendy show functions (mo»na j skróci do sh fu). W trybie parametrycznym, komenda plot wymaga podania dwóch argumentów (funkcji), a komenda splot trzech argumentów np. gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> plot sin(t),cos(t) gnuplot> splot sin(u), cos(u), u gnuplot> splot sin(u), cos(u), v Wyj±cie z trybu parametrycznego dokonuje si za pomoc standardowego unset parametric. Podczas defniowania funkcji i pracy z gnuplotem przydatne jest nast puj ce wyra»enie warunkow pochodz ce z j zyka C: a?b:c W gnuplocie nosi ono nazw operatora trójargumentowego (ternary operator). Jego znaczenie jest nast puj ce: je»eli a jest prawd wykonaj b, je»eli nie wykonaj c. Np. zdeniowanie funkcji 'warto± bezwzgl dna' mo»e by nast puj ce: h(x) = (x<0)? -x : x 11

Operatory trójargumentowe mo»na zagnie»d»a, co pozwala tworzy i rysowa funkcje zªo»one z wielu segmentów (sklejonych lub nie). Aby pozna operatory i funkcje dost pne w gnuplocie wystarczy odwoªa si do tematów pomocy help expressions, help operators, help functions. 4 Przygotowanie rysunku do druku Podczas tworzenia rysunku ogl damy go na ekranie, jednak podstawowym celem jest utworzenie rysunku, który nadawaªby si do wklejenia do dokumentu przeznaczonego do druku. Rysunek taki musi by przygotowany w odpowiednim formacie. Szcz ±liwie gnuplot obsªuguje wiele formatów, ustawianych komend set terminal (mo»na powiedzie,»e terminal jest takim wirtualnym urz dzeniem wyj±ciowym, z którym jest zwi zany okre±lony format). Spis i parametry wszystkich terminali mo»na obejrze za pomoc help terminal, a aktualnie wybrany terminal za pomoc show terminal. W systemie MS Windows domy±lnym terminalem jest wxt, a w linuksie X11. Gdy chcemy przygotowa rysunek, który ma by wklejony do dokumentu, mamy szereg ró»nych mo»liwo±ci. Je»eli dokument jest tworzony w systemie TEXlub L A TEXrozs dnym wyborem b dzie format postscript, który wygeneruje rysunki wektorowe zachowuj ce bardzo dobr jako± przy przeskalowaniu. W tym celu nale»y wykona nast puj ce kroki: 1. Przygotowa rysunek, który na ekranie wygl da tak jak chcieliby±my,»eby wygl daª na wydruku. Niestety tylko mniej wi cej bo na ekranie nie da si wy±wietli rysunku zgodnego z reguª WYSIWYG. 2. Zmieni format rysunku z windows lub x11 na postscript za pomoc komendy set terminal postscript. To ustawienie mo»na uzupeªni parametrami dotycz cymi m. in. kroju i rozmiaru czcionki u»ytej do opisów lub trybu barwy wydruku: kolorowego/monochromatycznego. Uwaga: tak ustawionego formatu nie da si zobaczy na ekranie. 3. Zmieni miejsce do którego skierowany b dzie rysunek (nie ekran, a plik), za pomoc komendy set output "<nazwa-pliku>" 4. Powtórzy rysowanie komend replot 12

5. Powróci do pierwotnego formatu przez set terminal windows lub set terminal x11 i skierowa wyj±cie na ekran przez set output (bez parametrów). Taki ci g komend, zwªaszcza je±li jest cz sto powtarzany, wygodnie jest wpisa do pliku w formie skryptu, np. takiego jak: set terminal postscript set output "$0.eps$" replot set terminal windows set output Je±li zapiszemy skrypt w pliku o nazwie eps.gp, to mo»emy go wywoªa z parametrem komend call: call 'eps.gp' 'wykres1' W rezultacie zostanie zapisany plik wykres1.eps, a gnuplot powróci do wcze±niejszych ustawie«. set term postscript parametr font ustawia tryb czcionki i jej rozmiar. Domy±lnie jest wybrany font "Helvetica, 14". Je±li go zmieniamy, zawsze trzeba poda obie warto±ci. Podanie font ", 14 nie spowoduje bªedu gnuplota, ale wygeneruje niepoprawny postscript. Pytanie czy zawsze, bo mo»e da si jednak tego postscripta przeczyta. 5 Rysowanie wykresów na podstawie danych z pliku Plik z danymi gnuplot jest plikiem tekstowym. Standardowo skªada si z kolumn oddzielonych spacjami. Przykªadowy plik mo»e wygl da nast puj co: #Przykªadowy plik: # # Po znaku # mo»na umie±ci komentarz # # # X Y F(X) SIGMA(Y) 13

11 1.22 2.51 0.05 12 1.31 3.78 0.15 13 1.18 3.22 0.13 14 1.25 2.87 0.09 15 1.49 3.78 0.10 16 1.82 4.12 0.20 17 2.32 5.11 0.09 18 1.73 4.08 0.15 19 1.31 3.22 0.12 20 1.18 3.02 0.08 21 1.28 2.73 0.10 22 1.20 2.45 0.17 Komenda w postaci: plot 'nazwa_pliku' standardowo u»yje warto±ci z pierwszej kolumny do wskazania wspóªrz dnych x, a z drugiej do y. Mo»na jednak wybra dwie dowolne kolumny za pomoc parametru using: plot 'nazwa_pliku' using 1:4 Z kolei podanie tylko jednej kolumny, spowoduje potraktowanie jej jako kolumny warto±ci y, w tym przypadku dla wspóªrz dnej x gnuplot wygeneruje kolejne liczby caªkowite zaczynaj c od 0. Sposób prezentowania danych okre±lamy za pomoc parametru with, np. plot 'nazwa_pliku' using 1:3 with lines Warto± parametru with mo»e przyj jedn z warto±ci: lines, points, linespoints, impulses, dots, steps, fsteps, histeps, errorbars, labels, xerrorbars, yerrorbars, xyerrorbars, errorlines, xerrorlines, yerrorlines, xyerrorlines, boxes, histograms, filledcurves, boxerrorbars, boxxyerrorbars, financebars, candlesticks, vectors, image, rgbimage, pm3d. Dziaªanie nietórych parametrów tªumaczy si sam ich nazw, inne warto wybróbowa i zobaczy jak dziaªaj. Wi kszo± warto±ci with wymaga danych z dwóch kolumn, jednak niektóre potrzebuj dodatkowej informacji. Na przykªad: plot 'nazwa_pliku' with yerrorbars 14

skorzysta z trzech kolumn: wspóªrz dne x pobierze z pierwszej kolumny, wspóªrz dne y z 2 kolumny, a z trzeciej kolumny pobrane zostan warto±ci y, które posªu» do narysowania bª dów y w postaci pionowych linii od y y do y + y. Mo»emy oczywi±cie wskaza konkretne 3 kolumny: plot 'nazwa_pliku' using 2:3:5 with yerrorbars Niektóre z warto±ci parametrów wymagaj danych z 4 kolumn (np. xyerrorbars, arrows) lub nawet z 5 (np. candlesticks). 5.1 Brakuj ce warto±ci w plikach danych W przetwarzaniu rzeczywistych danych eksperymentalnych musimy si liczy z niekompletnymi danymi. Najwygodniej je zaznacza za pomoc ustalonego ªa«cucha znaków uj tego w cudzysªowy. Mozna do tego celu u»y zwyczajowego tekstu "NaN" (Not a Number) w komendzie set: 1 10 2 10 3 11 4 12 5 NaN 6 11 7 11 8 NaN 9 10 set datafile missing "NaN" Przykªadowy plik mo»e wtedy wygl da : Dla takiego zestawu danych sposób rysowania b dzie zale»aª od wskazania kolumn w komendzie plot: plot 'nazwa_pliku' using 1:2 with linespoints spowoduje narysowanie linii ciagªej ªacz cej kolejne punkty z okre±lonymi warto±ciami. Brakuj ce punkty s jakby wyinterpolowane liniowo. Z kolei zapis plot 'nazwa_pliku' using 1:(\$2) with linespoints potraktuje 5. i 8. wiersz danych jako pust lini i pozostawi przerw w wykresie. 15

5.1.1 Wygªadzanie danych i sumowanie danych Wygªadzanie danych odbywa si za pomoc parametru smooth z odpowiedni warto±ci, u»ytego w komendzie plot. Dopuszczalnymi warto±ciami smooth s unique, frequency, bezier, sbezier, csplines, acsplines. W nowej wersji gnuplota (3.6) pojawiªy si dodatkowo parametry cnormal, cumulative i kdensity. 6 Dopasowanie wykresów metod najmniejszych kwadratów Do aproksymacji metod najmniejszych kwadratów sªu»y komenda fit Zakªadamy,»e mamy N-elementowy zbiór danych par (x i, y i ) lub trójek (x i, y i, σ i ), i = 1,..., N, gdzie y i jest mierzon (lub inaczej uzyskan warto±ci ) natomiast σ i jest miar niepewno±ci otrzymanej warto±ci y i, tak jak odchylenie standardowe. Wyra»enie 1/σ i jest wag y i. Naszym zadaniem jest dopasowanie do danych funkcji f(x, a 1, a 2,..., a m ), gdzie a i s jej wspóªczynnikami. Miar dopasowania jest suma kwadratów ochyle«danych od funkcji, tradycyjnie okre±lana jako χ 2 : N χ 2 = (y i f(x, a 1, a 2,..., a m )) 2. i=1 Gdy uwzgl dnimy niepewno± σ, miar jest wa»ona suma kwadratów odchyle«: N χ 2 = (y i f(x, a 1, a 2,..., a m )) 2 /σi 2. i=1 Dopasowanie polega na znalezieniu takiego zestawu wspóªczynników (a 1, a 2,..., a m ), który zminimalizuje sum kwadratów odchyle«χ 2. W przypadku dopasowania do funkcji liniowej f(x, a, b) = ax+b warto±ci optymalnych wspóªczynników mo»na znale¹ analitycznie. W ogólnym, nieliniowym przypadku nale»y zastosowa iteracyjn procedur numeryczn. Powszechnie stosowanym schematem, u»ytym równie» przez gnuplota, jest algorytm Marquardta-Levenberga. W praktyce dopasowanie rozpoczynamy od wyboru funkcji aproksymuj cej. Posªugujemy si przy tym nasz wiedz o charakterze danych, znanymi nam uzasadnieniami teoretycznymi takiego a nie innego przebiegu danych, a 16

w ko«cu zwykªym popatrzeniem na przebieg danych. Staramy si wybra funkcje mo»liwie proste, w których b dzie mo»liwe nadanie interpretacji poszczególnym wspóªczynnikom. 7 Ró»ne pytania dotycz ce Gnuplota 7.1 Wykresy 2D 7.1.1 U»ycie dwóch ró»nych osi Y Czasami zachodzi potrzeba narysowania kilku wykresów na jednym rysunku i oddzielnego zwi zania ich z poszczególnymi osiami. Na rysunku mamy 4 osie: X (na dole), X2 (na górze), Y (po lewej stronie) i Y2 (po prawej stronie). Przez domniemanie Y2 jest identyczna z Y, a X2 z X. Mo»emy nada osiom ró»ne zakresy przy pomocy komendy set z parametrami xrange, yrange (to ju» znamy) oraz x2range i y2range. Nast pnie mo»emy powi za ka»dy wykres z komendy plot z par osi poprzez u»ycie parametru axis z warto±ci x1y1, x1y2, x2y1, x2y2. W szczególno±ci axis x2y1 oznacza» danie skalowania wykresu do górnej osi X i lewej osi Y. Na przykªad: gnuplot> set xrange [0:2*pi] gnuplot> set yrange [-1:1] gnuplot> set y2range [0:1] gnuplot> plot sin(x) axis x1y1, sin(x)**2 axis x1y2 7.1.2 Jak usun osie? Przez domniemanie Gnuplot rysuje wszystkie cztery osie, korzystaj c z domy±lnego ustawienia parametru set border n Ka»da o± ma swój kod liczbowy. Na wykresie 2D o± X ma kod 1, Y: 2, X2: 4, Y2: 8. Suma kodów wskazuje na to które z osi b d rysowane. set border 15 narysuje wszystkie osie. W wykresach 3D osie maj wy»sze kody na razie ten przypadek pomijamy. Czy innym jest rysowanie osi (linii), a czym innym kreseczek skaluj cych o± (tics). Domy±lnie ustawione jest: set xtics, set ytics. Ponadto na osi górnej i prawej kreseczki s obrazem tych z osi dolnej i lewej: set xtics mirror, set ytics mirror. Mo»na je wyª czy przez set x ytics nomirror. Na przykªad: 17

gnuplot> set border 3 gnuplot> set xtics nomirror gnuplot> set ytics nomirror 7.1.3 Jak narysowa wykres w okienku kwadratowym lub o innych zadanych proporcjach? Wykres w kwadracie tworzy si bardzo prosto: gnuplot> set size square Stosunek dªugo±ci osi Y do osi X podajemy np. przez: gnuplot> set size ratio 2 Je»eli stosunek podamy w postaci liczby ujemnej (np. -2, -0.5) dodatkowo wymusimy zakres osi Y taki sam jak osi X. 7.1.4 Jak narysowa o± zerow? set {x y}zeroaxis Dodatkowo ustawienie mo»na uzupeªni typem linii (lt). Domy±lnie rysuje si linia przerywana, a umieszczenie lt -1 powoduje,»e osie zerowe maj tak posta jak pozostaªe osie wykresu. 7.1.5 Wi ksze litery w opisach Mo»na oczywi±cie okre±li rozmiar czcionki w ustawieniach set label i set axis W przypadku, gdy planowane jest wyj±cie postscriptowe, mo»na zmniejszy caªy rysunek, np.: set size 0.3, 0.3 Czcionki postscriptowe nie ulegn przeskalowaniu. Bardziej szczegóªowe okre±lanie/skalowanie czcionek postscriptowych wymaga wyspecykowania parametrów wszystkich wyst puj cych tekstów, np.: gnuplot> set terminal postscript enhanced "Helvetica" 16 gnuplot> set title "Exponenta" font "Times-Roman,40" gnuplot> set xlabel "To jest o± X" font "Helvetica,20" gnuplot> set ylabel "To jest o± Y" font "Times-Italic,32" gnuplot> plot exp(-x) 18

7.1.6 Kilka wykresów na jednym obrazku Mo»na je umie±ci u»ywaj c komendy set multiplot, a nast pnie rysuj c przesuni te odpowiednio wykresy: gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> set noxtic gnuplot> set noytic gnuplot> set nokey gnuplot> set size square 0.3,0.3 gnuplot> set rmargin 0 gnuplot> set lmargin 0 gnuplot> set tmargin 0 gnuplot> set bmargin 0 gnuplot> set multiplot multiplot> set origin 0.1,0.1 multiplot> plot sin(3*t),cos(2*t) multiplot> set origin 0.1,0.5 multiplot> plot sin(3*t),cos(4*t) multiplot> set origin 0.5,0.1 multiplot> plot sin(5*t),cos(2*t) multiplot> set origin 0.5,0.5 multiplot> plot sin(5*t),cos(4*t) multiplot> set nomultiplot 7.1.7 Animacja w Gnuplocie Najpierw musimy przygotowa zestaw komend w oddzielnym pliku np. o nazwie petla.pl, zawieraj cy nast puj ce komendy: theta = theta + 10 set view 60, theta splot exp(-x*x)*erf(y) if(theta<360) reread Kluczowa jest tu komenda reread Wywoªanie rysowania w gnuplocie mo»e wygl da na przykªad nast puj co: 19

gnuplot> set nokey gnuplot> set noxtics gnuplot> set noytics gnuplot> set noztics gnuplot> set border 0 gnuplot> set isosamples 40, 40 gnuplot> set hidden3d gnuplot> set xrange [ -5 : 5 ] gnuplot> set yrange [ -5 : 5 ] gnuplot> theta = 5 gnuplot> load "loop.plt" 20