Program gnuplot

Transkrypt

Program gnuplot
Program gnuplot
1
Wprowadzenie
W ramach tego ćwiczenia (trzech tygodni) zapoznamy się z programem gnuplot. Program ten
służy do prezentacji oraz analizy danych naukowych. Wiedza i umiejętności, które pozyskamy w
ramach tego ćwiczenia, będą nam niezbędne do samego końca semestru. Ćwiczenie to zakończy
się dłuższym sprawdzianem umiejętności praktycznych.
W trakcie zajęć omówione zostaną jedynie podstawy użytkowania programu. W szczególności
przedstawione zostaną:
1. sposób komunikacji z programem (linia poleceń, skryptowanie),
2. składnia podstawowych poleceń programu,
3. sposób eksportowania wyników pracy (zapis wykresów do pliku).
Z racji ograniczonego czasu wymagana będzie praca „w domu” (czytaj: pobierz program i zainstaluj go na własnym komputerze, zaprzyjaźnij się z nim, w domowym zaciszu jeszcze raz przebrnij
przez wszystkie jego funkcjonalności). Warto to uczynić. Każdy wysiłek włożony w poznanie programu gnuplot zwraca się z nawiązką. Z własnego doświadczenia: każda 1 godzina poświęcona
na poznanie programu gnuplot to 100 (a nawet i więcej) godzin zaoszczędzonych w późniejszej
pracy zawodowej (i nie tylko: patrz przygotowanie pracy dyplomowej, opracowanie wyników z laboratoriów). Zdecydowanie więc warto!
2
Sposób komunikacji z programem
Praca z programem gnuplot jest specyficzna, gdyż w programie tym „nie klikamy”. Z programem gnuplot komunikujemy się tekstowo, wykorzystując do tego celu konsolę. Program gnuplot
zgłasza swoją gotowość do działania wyświetlając w konsoli znak zachęty. Znak ten ma postać:
gnuplot>
Oznacza on, że program gnuplot oczekuje na wprowadzenie polecenia. Wprowadzone polecenia
zatwierdzamy klawiszem Enter.
Aby móc efektywnie pracować z programem należy poznać i zapamiętać zestaw oraz składnię
jego poleceń. Poleceń tych jest co prawda multum, jednakże poznanie zaledwie 20 podstawowych
pozwala efektywnie pracować z programem.
W ogólności, z programem gnuplot można pracować na dwa sposoby. Podstawowy sposób
pracy to omówiona już praca interaktywna (wykorzystując konsolę programu: wprowadzamy polecenie, zatwierdzamy, wprowadzamy kolejne polecenie, zatwierdzamy, powtarzamy do skutku).
Drugi sposób to tzw. skryptowanie. Polega on na przygotowaniu skryptu (pliku tekstowego)
zawierającego polecenia i nakazaniu programowi wykonania takiego skrytpu. W trybie tym program otwiera skrypt i (najzwyczajniej) wczytuje i wykonuje kolejne, zawarte w nim polecenia.
Jako iż taki sposób pracy pozwala znacznie zwiększyć efektywność, zostanie on również omówiony
(w części dalszej). W trybie takim nie ma konieczności wielokrotnego wpisywania tych samych poleceń, zaś przygotowanie nowego wykresu często sprowadza się do wprowadzenia drobnych zmian
w już istniejącym skrypcie.
Należy mieć na uwadze, że w trakcie pracy program gnuplot zapamiętuje wszystkie zmiany
ustawień. Dla przykładu: jeżeli tworząc wykres zdefiniowaliśmy etykietę (tj. opis) osi to program
1
będzie stosował tę etykietę tak długo, aż ponownie jej nie zmienimy (czytaj: będzie ją nanosił
na kolejne tworzone wykresy). To samo stwierdzenie dotyczy wszystkich pozostałych ustawień.
3
Podstawowe polecenia programu
Podstawowym poleceniem programu gnuplot jest polecenie nakazujące kreślenie plot. Jego
składnia jest następująca (zapis symboliczny):
plot <graph_spec>
W powyższym zapisie nawias <graph_spec> oznacza dowolną (lecz prawidłową!) specyfikację wykresu (mówimy programowi co i jak chcemy wykreślić, możemy kreślić funkcje jak i dane z pliku).
Nie precyzujemy na razie jak specyfikacja ta wygląda. Można również przedstawić nieco ogólniejszą
składnię polecenia plot. Na jednym wykresie można nanieść większą liczbę „serii”:
plot <graph_spec_1>, <graph_spec_2>, <graph_spec_3>, ...
Jak widać, specyfikacje poszczególnych „serii” należy wymieniać jedna po drugiej, oddzielając je
przecinkiem.
Polecenia plot można użyć do sporządzenia wykresu wybranej funkcji. Przykłady:
plot
plot
plot
plot
plot
x+1.0
x*x-1.0/2.0
x**2.0
x**2.0+4.0*x+8.0
x**3.0+4.0*x**1.5+8.0*x**(-1.0)
Wyrażenia algebraiczne konstruuje się stosując standardowe reguły (czytaj: stosuje się standardowe operatory oraz standardowy porządek wykonywania działań). Operator potęgowania reprezentuje symbol **. Zapis x**3.0 oznacza zatem x3 , zaś zapis x**-1.0 oznacza x−1.0 = 1/x.
W wyrażeniach algebraicznych nie wolno stosować znaków białych (m.in. spacji). W celu zmiany porządku działań należy zastosować nawiasy okrągłe ( ). W wyrażeniach algebraicznych nie
wolno stosować nawiasów [ ] oraz { }.
Wprowadzając liczby warto stosować symbol kropki. Aby zobaczyć jak istotna może być kropka, warto sporządzić poniższe wykresy.
plot 1/3, 1.0/3.0, 1/2, 1.0/2.0
Sens operatora / jest zależny od kontekstu. Może on być rozumiany jako „zwykły” operator
dzielenia bądź jako operator dzielenia całkowitego.
W programie dostępna jest większość standardowych funkcji, takich jak sin(x), cos(x),
tan(x), atan(x), log(x), exp(x) oraz sqrt(x).
Polecenia plot można użyć do wykreślenia danych z pliku. Plik z danymi powinien być zwykłym plikiem tekstowym (dokument nieformatowany). Dane w pliku muszą być zorganizowane
kolumnowo, chociażby tak jak w przykładzie poniżej. Plik może zawierać dowolną liczbę kolumn
oraz dowolną liczbę linii. W pliku z danymi można (i warto) wprowadzać komentarze. Linia komentarza powinna zaczynać się znakiem #.
#
#
#
#
#
Experimental data, DATE: 01/02/2015, TIME: 13:31
Parameters: energy 10.6 eV, length: 60 minutes
1st column - Force F (eV/Angstrom)
2nd column - Deflection d (Angstrom)
3nd column - Error(F) (eV/Angstrom)
2
# 4th column - Error(d) (Angstrom)
0.11 1.11 0.05 0.11
1.03 3.01 0.03 0.11
2.09 5.02 0.15 0.10
3.04 6.98 0.11 0.10
3.95 9.08 0.06 0.09
4.99 11.22 0.07 0.33
Do kreślenia danych z pliku również służy polecenie plot. Chcąc wykreślić dane z pliku należy
nazwę pliku (ściśle: nie nazwę, lecz ścieżkę do pliku) umieścić w cudzysłowie ” ”. Dla przykładu:
plot "dane.dat"
plot "C:\\moje_dane\\dane.dat"
Kręśląc dane z pliku należy zadbać, by:
1. plik z danymi istniał,
2. plik z danymi znajdował się we wskazanej przez nas lokalizacji,
3. plik z danymi był prawidłowo sformatowany.
Pierwszy z przedstawionych powyżej przykładów (podajemy jedynie nazwę, a nie pełną ścieżkę
do pliku) dotyczy sytuacji, w której plik z danymi znajduje się w katalogu roboczym. Katalog
roboczy można sprawdzić stosując polecenie pwd (od ang. Print Working Directory). Po jego
wykonaniu program gnuplot wyświetli w konsoli ścieżkę do katalogu roboczego.
Katalog roboczy można zmienić za pomocą polecenia cd (od ang. Change Directory). Przykłady użycia polecenia cd zostały przedstawione poniżej.
cd
cd
cd
cd
cd
..
"katalog1"
"podkatalog2"
"C:\\Moj_katalog\\Moj_podfolder"
"D:\\Aaa\\Bbb\\111\\222"
Polecenie
cd ..
powoduje zmianę katalogu roboczego na nadrzędny.
Do zmiany katalogu roboczego można również posłużyć się klawiszem opisanym jako ChDir.
Jest on zlokalizowanym na górnej „belce” programu gnuplot.
Na jednym wykresie możemy jednocześnie wykreślić dane z pliku i funkcję. Dla przykładu:
plot
plot
plot
plot
plot
3.0*x**3.0+x*sin(x), "dane.txt"
"dane.txt", x+1.0
"dane.txt", 0.5*sin(2.0*x)+0.25*cos(0.5*x+1.0)
"dane.txt", 2.0*exp(-0.5*x)
"dane.txt", log(x**2.0)
Możemy również jednocześnie wykreślić dane z wielu różnych plików. Przykłady:
plot "dane_1.dat", "dane_2.dat"
plot "dane_1.dat", "dane_2.dat", "dane_3.dat"
3
Kreśląc z pliku, program domyślnie pod uwagę bierze kolumny 1 (jako argument) oraz 2 (jako
wartość). Możemy to oczywiście zmienić. Wybór kolumn odbywa się poprzez użycie modyfikatora
using. Dla przykładu:
plot
plot
plot
plot
plot
plot
"dane.txt" using 1:3
"dane.txt" using 2:3
"dane.txt" using 2:1
"dane.txt" using 3:4
"dane.txt" using 1:3, x**2.0+1.0
"dane_A.txt" using 1:3, "dane_B.txt" using 2:1
Modyfikatora using można używać tylko w połączeniu z danymi z pliku.
Program gnuplot dostarcza wielu różnych modyfikatorów. Najbardziej istotne (oprócz modyfikatora using) to with, linestyle oraz title. Pierwszy z nich pozwala określić metodę reprezentacji danych (punkty, kropki, linie, słupki błędu). Drugi z nich służy do określenia stosowanego
stylu (linia ciągła, przerywana, . . . ; kwadraty, trójkąty, . . . ; kolor; grubość linii; rozmiar punktów).
Ostatni pozwala określić tytuł „serii” (wyświetlany jest on w legendzie).
Kolejność użycia modyfikatorów nie jest dowolna. Jako pierwszy powinien pojawić się modyfikator using, jako drugi with, jako trzeci linestyle, zaś jako ostatni title. Nie ma konieczności
zastosowania wszystkich modyfikatorów.
Poniżej zamieszczono przykłady prawidłowego zastosowania modyfikatorów.
plot
plot
plot
plot
2.0*x*x
2.0*x*x
2.0*x*x
2.0*x*x
with
with
with
with
plot
plot
plot
plot
plot
plot
plot
plot
plot
"dane.txt"
"dane.txt"
"dane.txt"
"dane.txt"
"dane.txt"
"dane.txt"
"dane.txt"
"dane.txt"
"dane.txt"
plot
plot
plot
plot
sin(x)
sin(x)
sin(x)
sin(x)
lines
points
linespoints
dots
with lines
with points
with linespoints
with dots
with xerrorbars
with yerrorbars
with xyerrorbars
using 1:2:4 with yerrorbars
using 1:2:3:4 with xyerrorbars
linestyle
linestyle
linestyle
linestyle
1
2
3
4
plot sin(x) title "sinus", cos(x) title "cosinus"
plot "dane_A.txt" tile "Seria A", "dane_B.txt" title "Seria B"
Możliwe jest łączenie modyfikatorów.
plot "dane.txt" using 1:2:3 with xerrorbars linestyle 1 title "seria A"
Możliwa jest zmiana ustawień dotyczących:
1. opisu osi (etykiet) i wykresu
4
set title "Insert your title here..."
set xlabel "X-axis label (units)"
set ylabel "Y-axis label (units)"
2. zakresów osi
set xrange [0.0:50.0]
set yrange [-10.0:110.0]
plot [-20.0:20.0] "dane.txt"
plot [-20.0:20.0][-30.0:30.0] "dane.txt"
plot [:] "dane.txt"
plot [:10.0] "dane.txt"
plot [-10.0:] "dane.txt"
3. znaczników osi (wartości)
set
set
set
set
xtics 0.0, 10.0, 50.0
ytics -10.0, 25.0, 5.0
mxtics 5
mytics 5
4. legendy
set key off
set key on
set key
unset key
set key top right
set key bottom left
set key below
set key above
5. rodzaju osi
set logscale x
set logscale y
unset logscale x
unset logscale y
W programie gnuplot można określać własne style. Służy do tego polecenie set.
set style line 1 linetype 1 linecolor 2 linewidth 3.0 pointtype 1 pointsize 3.0
W ogólności polecenie set jest poleceniem bardzo szerokiego przeznaczenia. Pozwala ono określić szereg ustawień.
Bardzo przydatnym poleceniami są:
set autoscale xy
set autoscale x
set autoscale y
5
Pozwalają one włączyć tzw. autoskalowanie (automatyczny dobór zakresów na osiach).
Pośród innych przydatnych poleceń znajdują się clear oraz reset. Pierwsze z poleceń czyści obszar kreślenie, drugie zaś przywraca program do wyjściowego stanu (tracone są wszystkie
ustawienia). Do wyjścia z programu służy polecenie exit.
Szczególnie przydatnym poleceniem jest replot. Pozwala ono ponownie wykreślić ostatnio
sporządzony wykres (czytaj: „odświeżyć” po wprowadzeniu zmian wykres). Równie przydatnym
poleceniem jest help. Polecenia tego używa sie w sposób następujący:
help set
help set linestyle
help set xrange
Do przewijania wyświetlanych informacji służy klawisz Enter.
Często stosuje się również polecenie print. Pozwala ono obliczyć (oraz wyświetlić w konsoli)
wartość dowolnego wyrażenia. Używa się go w sposób następujący:
print
print
print
print
print
print
print
0.5*1.2+1.5
sin(30.0)
pi
exp(1.0)
sin(30.0*pi/180.0)
1/3
1.0/3.0
Program pozwala definiować własne funkcje. Dla przykładu:
f(x)=1.5*x**3.0+1.25*x-1.0
g(x)=3.0*sin(x)+1.0
h(x)=3.0*cos(2.0*x+1.0)
i(x)=(3.0*x+1.0)*(2.0/x)+3.0*sin(3.0*x)+1.0
f1(x)=(2.0+x)/x
f2(x)=(3.0+x**2.0)*exp(2.0*x)
f3(x)=2.0*log(x+1.0)
plot f(x)
plot f(x), g(x)
plot x+3.0, 3.0*x+2.0, f(x), g(x)
Funkcje można uzależniać od zmiennych. Dla przykładu:
f(x)=A*sin(B*x)+C
plot f(x)
A=1.5
B=2.5
C=3.5
plot f(x)
Do sprawdzenia wartości zmiennej można posłużyć się poleceniem print. Dla przykładu:
print
print
print
print
print
print
A
B
a1, a2, a3
a1+a2
a1/a2
8.617e-05*300.0
6
4
Formy skrócone poleceń
Wpisywanie poleceń bywa żmudne i czasochłonne. Program gnuplot pozwala stosować skrócone formy. Poniżej przedstawiono kilka form skróconych. W ogólności, formy te tworzy się dość
intuicyjnie.
plot
using
with
linestyle
title
points
lines
linespoints
xerrorbars
yerrorbars
xyerrorbars
->
->
->
->
->
->
->
->
->
->
->
p
u
w
ls
t
p
l
lp
xe
ye
xye
Przykłady użycia:
p x**2.0+1.0 w lp t "f(x)"
p "data.dat" u 1:2:3:4 w xye ls 1 t "Moje dane"
Formy pełne powyższych poleceń:
plot x**2.0+1.0 with linespoints title "f(x)"
plot "data.dat" using 1:2:3:4 with xyerrorbars linestyle 1 title "Moje dane"
5
Skryptowanie programu
Jak już wspomniano, program gnuplot dostarcza bardzo wygodnego sposobu pracy: pozwala
on na tzw. skryptowanie.
Skrypt jest zwykłym (nieformatowanym) plikiem tekstowym, zawierającym polecenia programu gnuplot. Każde polecenie powinno być zawarte w osobnej linii. W skrypcie można wprowadzać
komentarze. Linia komentarza powinna zaczynać się znakiem #. Możliwe jest łamanie zbyt długich
linii. Służy do tego znak \. W skrypcie mogą znajdować się puste linie.
Poniżej przedstawiono przykładowy skrypt programu gnuplot.
# to jest moj pierwszy skrypt
set xlabel "To jest os X (jednostka_A)"
set ylabel "To jest os Y (jednostka_B)"
set title "To jest tytul wykresu"
set xrange [-25.0:10.0]
set yrange [-25.0:10.0]
set key top left
f(x)=10.0*x**2.0*sin(x)+5.0*cos(2.0*x+pi)
g(x)=4.0*exp(-1.0*x**2.0)
# ponizsza linia zostala zlamana, gdyz byla za dluga
plot f(x) with linespoints linestyle 4 title "Funkcja pierwsza", \
g(x) with lines linestyle 2 title "Funkcja druga"
Skryptowanie polega na:
7
1. przygotowaniu skryptu (można tego dokonać posługując się dowolnym edytorem tekstu nieformatowanego),
2. wykonaniu skryptu (tj. wczytaniu skryptu w programie gnuplot).
Do wczytania skryptu służy polecenie load. Używa się go w sposób następujący:
load "create_plot.gp"
load "C:\laboratorium_KMM\moje_wyniki\make_my_graph.txt"
6
Eksport rezultatów
Grafikę przygotowaną w programie gnuplot można wyeksportować. Program gnuplot wspiera
szereg formatów, m.in.: pdf, ps, eps, jpeg, bmp, gif, tiff. W środowisku naukowym (lub też
ogólniej - w poważnych zastosowaniach poligraficznych) szczególnie popularnymi formatami są
formaty ps (PostScript) oraz eps (Encapsulated PostScript). Więcej informacji znaleźć można
pod adresem:
http://pl.wikipedia.org/wiki/PostScript
oraz:
http://pl.wikipedia.org/wiki/Encapsulated_PostScript
Aby wyeksportować wykres należy kolejno:
1. przygotować wykres („tradycyjnie”, stosując komendy programu gnuplot),
2. ustawić terminal na stosowny (czytaj: zależny od formatu generowanego pliku), służy do tego polecenie set terminal,
3. ustawić wyjście (określić nazwę i lokalizację pliku wyjściowego), służy do tego polecenie
set output,
4. wykreślić ponownie wykres (tym razem pisząc nie na ekran, lecz do wskazanego w punkcie
3 pliku, stosując format określony w punkcie 2), można w tym celu posłużyć się poleceniem
replot,
5. zamknąć wyjście, służy do tego również polecenie set output,
6. zmienić powrotnie terminal na ekranowy, by generowana później grafika nie trafiała już do
wskazanego pliku, służy do tego również polecenie set terminal windows.
Poniżej zamieszczono przykład (wprowadzono stosowne komentarze).
# krok 1: tworzymy wykres, poki co kreslimy na ekranie monitora
set xlabel "Os X"
set ylabel "Os Y"
set title "Moj wykres"
plot x with linespoints title "Seria A"
# po "naocznym" (patrz powyzsza linia) upewnieniu sie, ze wykres
# jest prawidlowy (zgodny z naszymi oczekiwaniami)
# rozpoczynamy eksport do pliku
8
# krok 2: ustawiamy terminal, w tym przypadku terminal ustawiono na
#
postscript (.ps)
set terminal postscript
# krok 3: ustawiamy wyjscie, wykres zostanie zapisany do pliku o nazwie
#
wykres_1.ps, znajdowac sie on bedzie w katalogu roboczym
set output "test_1.ps"
# krok 4: ponownie kreslimy wykres, w wyniku wykonania tego kroku
#
nie zobaczymy wynikow na ekranie (nie pojawi sie okienko z wykresem),
#
rezultaty zostana wyslane do wskazanego pliku
replot
# krok 5: zamykamy plik wyjsciowy, etap ten jest konieczny,
#
kazdy generowany plik musi zostac prawidlowo zamkniety
set output
# krok 6: przywracamy domyslny terminal kreslacy na ekranie
set terminal windows
Program gnuplot wyświetla listę obsługiwanych terminali po wpisaniu polecenia
set terminal
Wybierając terminal można zdefiniować jego ustawienia. Dla przykładu:
set terminal postscript enhanced color "Times,24"
Do otwarcia plików ps można posłużyć się programem GSview. Niezbędne oprogramowanie
można znaleźć pod adresem:
http://pages.cs.wisc.edu/~ghost/
W przypadku gdy stosuje się wzmocniony (ustawiona opcja enhanced) terminal postscript
na wykresie można używać znaków specjalnych. Dostępne są (m.in.):
1. indeks dolny i górny, przykład:
set title "f_{1}(x^{2})"
set xlabel "x^{2}"
set ylabel "A^{x-x} B_{y-y}"
2. litery alfabetu greckiego (a to α, b to β, . . . , m to µ, przykład:
set title "{/Symbol a}=0.5 {/Symbol b}=1.5"
set xlabel "{/Symbol a}{/Symbol b}{/Symbol c}"
set ylabel "{/Symbol A}{/Symbol B}{/Symbol C}"
3. oraz wiele innych (większość „konstrukcji” dostępnych w systemie składu tekstu LaTeX).
9
7
Zaawansowane funkcje programu
Program gnuplot pozwala również dopasować do danych zadaną funkcję (służy do tego polecenie fit). Pozwala on również w bardzo szybki sposób wyznaczać miary statystyczne (służy do
tego polecenie stat), nawet dla dużych zbiorów danych wejściowych.
Aby do danych z pliku dopasować (często stosuje się określenie: fitowanie) zadaną funkcję
należy kolejno:
1. określić postać analityczną funkcji stosowanej do fitowania,
2. zainicjalizować (opcjonalnie) wartości parametrów funkcji,
3. przeprowadzić fitowanie, posługując się poleceniem fit.
Stosowne komendy mogą wyglądać następująco:
# krok 1 - okreslamy postac funkcji, w tym przypadku wielomian drugiego stopnia
f(x)=A*x**2.0+B*x+C
# krok 2 - inicjalizujemy parametry funkcji
# (pomagamy w ten sposob programowi znalezc dopasowanie,
# niekiedy jest to istotne)
A=1.0
B=3.0
C=0.5
# krok 3 - przeprowadzamy dopasowanie
fit f(x) "dane.txt" using 1:2 via A, B, C
# krok 4 - opcjonalnie kreslimy na ekranie dane wraz z dopasowaniem
# (by sprawdzic jak dobre dopasowanie udalo sie nam uzyskac)
plot "dane.txt", f(x)
# krok 5 - sprawdzamy wartosci parametrow po przeprowadzeniu fitowania
print A, B, C
Procedura fitowania może zakończyć się niepowodzeniem. Program gnuplot wyświetla w takich
sytuacjach stosowną informację.
W wyniku fitowania zmienione zostają wartości parametrów (zmiennych), względem których
realizowane było fitowanie. Aby sprawdzić wartość parametrów można posłużyć się poleceniem
print (tak jak to zostało przedstawione w przykładzie znajdującym się powyżej).
W przypadku gdy proces fitowania zakończył się sukcesem program wyświetla na ekranie
informację o postaci podobnej do przedstawionej poniżej.
After 5 iterations the fit converged.
final sum of squares of residuals : 0.03424
rel. change during last iteration : -2.21064e-11
degrees of freedom
(FIT_NDF)
rms of residuals
(FIT_STDFIT) = sqrt(WSSR/ndf)
variance of residuals (reduced chisquare) = WSSR/ndf
Final set of parameters
: 2
: 0.130843
: 0.01712
Asymptotic Standard Error
10
=======================
==========================
A
B
C
+/- 0.03497
+/- 0.2139
+/- 0.2806
= 0.995
= -0.039
= 0.372
(3.515%)
(548.4%)
(75.44%)
Słowa After xxx iterations the fit converged. informują, że procedura fitowania zakończyła się powodzeniem. Wartości parametrów uzyskanych w wyniku fitowania wypisane są
pod słowami Final set of parameters.
Niekiedy pojawia się konieczność ograniczenia zakresu fitowania. Można to osiągnąć za pomocą
polecenia:
fit [2.5:5.0] f(x) "dane.dat" using 1:2 via A, B, C
Program gnuplot posiada bardzo przydatny moduł służący do obliczania miar statystycznych.
Pozwala on dla zadanego zbioru danych wyznaczyć miary takie jak wartość średnia czy też odchylenie standardowe. Co ważne, miary takie można obliczyć bardzo szybko dla dużego zbioru danych.
Do wyznaczenia miar statystycznych służy polecenie stat. Poniżej zamieszczono przykłady jego
użycia.
stat
stat
stat
stat
"dane.txt" using 1:2
[0.0:100.0] "dane.txt" using 3:1
"dane.txt" using 1
"dane.txt" using 4
Poniżej zamieszczono przykładowe „wyjście” polecenia stat.
* FILE:
Records:
Out of range:
Invalid:
Blank:
Data Blocks:
5
0
0
0
1
* COLUMNS:
Mean:
Std Dev:
Sum:
Sum Sq.:
3.0000
1.4142
15.0000
55.0000
Minimum:
Maximum:
Quartile:
Median:
Quartile:
1.0000 [0]
5.0000 [4]
2.0000
3.0000
4.0000
11.2000
8.5518
56.0000
992.8622
1.3000 [0]
25.1100 [4]
4.3000
9.3000
15.9900
Linear Model: y = 5.931 x - 6.593
Correlation: r = 0.9808
Sum xy:
227.3
Jak widać, program przedstawia bogate informacje statystyczne. Do dyspozycji mamy: średnią,
odchylenie standardowe, sumę, sumę kwadratów, minimum, maksimum, medianę i pozostałe kwartyle. Program przedstawia również model liniowy (regresja liniowa, metoda najmniejszych kwadratów) podając parametry modelu (równanie prostej) oraz współczynnik korelacji.
11
Program gnuplot pozwala również wykonywać operacje na danych czytanych z pliku. Konstruować można dowolne wyrażenia arytmetyczne. Do odwoływania się do poszczególnych kolumn
danych służy symbol $. Realizuje się to w połączeniu z modyfikatorem using. Specyfikację kolumny przetwarzanej koniecznie należy zamieścić w nawiasie ( ). Dla przykładu, aby wykreślić
kolumnę 2 pomnożoną przez 3.5 w funkcji odwrotności kolumny 1 należy:
plot "dane.txt" using (1.0/$1):(3.5*$3)
Inne przykłady:
plot "dane.txt" using ($1*$2/0.5+0.5):(log($3))
plot "dane.txt" using (sin(2.0*$1+$2)+1.0):2
8
Zasoby oraz źródła wiedzy
Oficjalna strona projektu gnuplot:
http://www.gnuplot.info/
Podręcznik użytkownika (wersja 4.6 programu):
http://www.gnuplot.info/docs_4.6/gnuplot.pdf
Bogata galeria „możliwości” programu (wraz z poleceniami):
http://gnuplot.sourceforge.net/demo_4.6/
Instalator dla systemu Windows (program gnuplot w wersji 4.6.6, do wyboru wersje 32- oraz
64-bitowa):
http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.6/gp466-win32-setup.exe/download
http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.6/gp466-win64-setup.exe/download
Tutorial „GNUPLOT 4.2 : A Brief Manual and Tutorial” (bardzo krótki):
http://www.duke.edu/~hpgavin/gnuplot.html
Tutorial „Gnuplot: The Impossible Graphs” (ciekawe konstrukcje):
http://www.phyast.pitt.edu/~zov1/gnuplot/html/intro.html
Tutorial „GNUPLOT - not so Frequently Asked Questions” (wyjątkowo obszerny i ciekawy)
http://web.archive.org/web/20100726165306/http://t16web.lanl.gov/Kawano/gnuplot/index-e.html
12