Wykonywanie
wykresów za pomocą programu Gnuplot.
Podstawy
obsługi w systemie Linux.
Jednym z największych
problemów w opracowywaniu wyników jest wykonywanie
wykresów. W chwili obecnej wykonuje się je najczęście za
pomocą komputera. Można nabyć do tego celu specjalistyczne
oprogramowanie. Niestety, jest ono drogie. Stosunkowo najprostszym
rozwiązaniem wydaje się być zastosowanie Excela w którym po
wpisaniu danych do arkusza możemy poleceniem Wstaw=> Wykres
wykonać to zadanie. Jednak oprogramowanie to wykazuje szereg wad:
przede wszystkim jest to program przeznaczony do wykonywania prac
biurowych tak zwanej “grafiki biznesowej” i możemy mieć
trudności z dostosowaniem go do naszych potrzeb, np umieszczeniem
kilku wykresów na jednym rysunku itd. Proponujemy zastosowanie
Wolnego Oprogramowania dzięki któremu będziemy mogli wykonać
wszystkie potrzebne prace bez wydawania pieniędzy z zachowaniem
profesjonalnych wymagań.
Światowym standardem do
wykonywania wykresów jest Gnuplot.
Program ten ma szereg zalet: potrafi wykonać bardzo trudne operacje (
na przykład na wielkiej liczbie punktów pomiarowych) łatwo się
instaluje w różnych środowiskach zajmuje bardzo mało zasobów.
Jest on darmowy, rozpowszechniany na licencji GPL
i możemy z niego dowolnie korzystać, pobierać rozdawać itd umieszczać
uzyskane za jego pomocą wyniki w komercyjnych pracach. Tak więc czas
poświęcony na jego naukę jest wartościową inwestycją w umiejętności
zawodowe. Program ma też pewną w gruncie rzeczy zupełnie
pozorną niedogodność: obsługę z linii poleceń. W sieci można znaleźć wiele
obszernych stron z pomocą
dla niego .
Aby wykonać wykres
musimy mieć oczywiście zainstalowany program Gnuplot oraz odpowiednio
przygotowany plik z danymi. Program w środowisku Linux jest
standardowo dostarczany z podstawowymi dystrybucjami. W środowisku
Windows instaluje się go typowo, jak inne programy, przy czym dla
Windows mamy kilka graficznych nakładek, które można polecić
osobom przyzwyczajonym do pracy w trybie graficznym. Program z
dostarczonych danych produkuje plik w zadanym graficznym formacie,
który można wydrukować pomocą innego programu, lub dołączyć do
dokumentu.
Uwaga: domyślnie
program kieruje wynik przetwarzania na ekran i jako podgląd nie jest
on zapisywany. Aby wynik pracy został zapisany trzeba wskazać format
i podać nazwę pliku w jakim ma zostać zapisany.
Dane przygotowujemy w
formacie tekstowym. Jest to najprostszy format danych z jakim się
spotykamy w technice komputerowej. Najprostsze dane mają postać dwu
kolumn oddzielonych spacją . Pierwsza kolumna zawiera zbiór
danych zmienna x druga kolumna zmiennej y. Przykład poniżej: (Uwaga
w takim zapisie kolumny “giną wizualnie”, sprawdź, że w
każdym wierszu mamy dwie liczby oddzielone spacją)
1 0.11
2 0.121
3 0.134
4 0.139
5 0.151
6 0.164
7 0.172
8 0.188
9 0.193
10 0.201
11 0.215
12 0.225
Dane te możemy
wcześniej otrzymać jako plik zapisany automatycznie z aparatury
pomiarowej, możemy też przygotować go ręcznie w dowolnym edytorze,
który posiada możliwość zapisu w pliku tekstowym. Nazwa pliku
w przypadku systemu Linux jest dowolna, w przypadku systemu windows
stosujemy rozszerzenie (trzy litery po kropce) txt lub dat. W obu
przypadkach lepiej stosować takie samo rozszerzenie, co pozwoli
zachować porządek. W przypadku Windows inne rozszerzenie lub jego
brak może spowodować kłopoty z odczytanie i edycją pliku danych.
Program Gnuplot
uruchamiamy w Linuksie z wiersza poleceń pisząc gnuplot .
Jeśli program jest
prawidłowo zainstalowany zostanie wyświetlone szereg informacji oraz
na końcu wiersz poleceń ze znakiem zachęty
gnuplot>
Polecenia
programu będziemy wpisywać w tym wierszu. Aby wyświetlić okno z
danymi zapisanymi w pliku “gnuplot_przyklad.dat”
wpisujemy polecenie:
>plot'gnuplot_przyklad.dat'
using 1: 2
Zostaje wówczas
wyświetlone okno z wykresem w formie bitmapy a dzięki użyciu słowa
using pierwsza kolumna zostaje użyta jako dane x druga jako
dane y . Jeśli napisalibyśmy “ using 2:1”
pierwsza kolumna będzie użyta jako dane y a druga jako dane x.
Gnuplot posiada bardzo
obszerną pomoc. Aby uzyskać do niej dostęp piszemy w wierszu poleceń
> help.
Plik
pomocy ma hierarchiczną budowę, możemy się dostać do konkretnych
tematów pisząc
>help startup
lub
> help plot
O
ile temat istnieje, zostanie wyświetlony.
Program obsługuje drukarki, jednak najwygodniej wykres wydrukować z innej aplikacji.
Dobrym sposobem jest zapisanie wykresu w
języku (formacie) postscript i wydrukowanie go za pomocą np. ghostviev. Jeśli chcemy umieścić wykres w dokumencie innej aplikacji ( choćby MS Word) zapisujemy wykres jako obrazek np. w formacie png.
Aby tego dokonać musimy najpierw poinformować program w
jakim formacie ma dokonać zapisu, oraz jak ma się nazywać plik.
Dokonujemy tego poleceniem :
>set terminal
nazwa_formatu
>set output
'nazwa_pliku'.
Na przykład tworzymy
wykres w poscripcie w kolorze, w pliku “moj_wykres.ps”
>set terminal
postscript color
>set output
moj_wykres.ps
Rys 1 Okno terminala z programem Gnuplot, oraz okno
wyświetlonego wykresu.
Rys
2 Efekt polecenia
>plot'gnuplot_przyklad.dat' using 1: 2 .
Taki “wykres”
zawiera tylko punkty pomiarowe. Musimy dodać jeszcze linię
przybliżającą przebieg zmiennej .Gnuplot potrafi przybliżać dane
pomiarowe (“fitować”) bardzo skomplikowanymi funkcjami,
lecz na I pracowni wystarczy linia prosta, zwana prostę regresji.
Wykonamy to następującymi poleceniami. (Przybliżamy dane zawarte w
pliku “przykład.dat”)
> f(x)=a*x+b;
> fit f(x)
'gnuplot_przyklad.dat' using 1:2 via a, b
Rys.3 Terminal programu z wyświetlonymi wartościami
współczynników prostej regresji.
Po tej komendzie w
oknie terminala tekstowego program wyświetli nam wartości
współczynników a, b,wartości ich błędów, oraz
inne wartości, kó;re będą potrzebne przy bardziej
skomplikowanej analizie wyników niż na I Pracowni.
Poleceniem gnuplot>
plot 'gnuplot_przyklad.dat', f(x) umieścimy na jednym wykresie
punkty danych oraz aproksymującą je prostą.
Rys 4. Wykres z naniesioną prostą regresji.
Za pomocą następujących
komend opiszemy osie:
gnuplot> set
xlabel "dane x"
gnuplot> set
ylabel "dane y"
Komendą
> set
title'regresja'
dodajemy nazwę wykresu.
Przypominamy, aby
zapisać wykres do pliku musimy podać nazwę pliku wyjściowego
>set
output'przyklad_out.png'
Komendą
>set terminal png
color
informujemy program do
jakiego formatu ma zostać skonwertowany wynik pracy ( w tym wypadku
kolorowa bit mapa typu png )
Rys
5 Wykres z opisem osi i tytułem
.
.
.
.
Umieszczenie na
wykresie niepewności pomiarowych.
Aby umieścić na
wykresie niepewności pomiarowe punktów pomiarowych musimy uzupełnić plik z
naszymi danymi o kolumny zawierające ich wartości. W
najprostszym wypadku gdy zaznaczamy tylko niepewność pomiarową na osi x lub y plik
zawiera trzy kolumny danych (x, y ,niepewność pomiarowa) gdy zaznaczamy niepewność pomiarową na
osiach x i y plik z danymi powinien zawierać 4 kolumny. Gnuplot
obsługuje także bardziej skomplikowane przypadki. ( Zobacz w pomocy
poleceniem > help errorbars )
Niepewność pomiarowa jest naniesiona na
wykres w wyniku dodania do polecenia plot opcji with
errorbars, xerrorbars, yerrorbars, xyerrorbars, w
zależności od potrzeby.
Polecenie
plot xyerrorbars zakłada określoną kolejność kolumn. Na
przykład
dane
x, dane y , niepewność pomiarowa x, niepewność pomiarowa y.
Jeśli
chcemy aby kolejność kolumn była inna musimy za pomocą słowa using
poinformować program o tej kolejności.
W
poniższym przykładzie trzecia kolumna zawiera niepewność pomiarową dla osi y a
kolumna 4 dla osi x (Sprawdź że poszczególne wiersze
zawierają 4 liczby oddzielone spacjami!)
1 0.11 0.09 0.5
2 0.121 0.091 0.5
3 0.134 0.04 0.6
4 0.1390 0.07 0.5
5 0.151 0.05 0.5
6 0.164 0.08 0.4
7 0.172 0.08 0.6
8 0.188 0.07 0.8
9 0.193 0.04 0.5
10 0.201 0.06 0.4
11 0.215 0.05 0.5
12 0.225 0.08 0.5
Do wykonania wykresu
użyjemy komendy :
>
plot'gnuplot_przyklad_er.dat' using 1:2:4:3 with xyerrorbars
Zwróć
uwagę, że kolejność kolumn zamieniliśmy wymieniając je po słowie
using.
Rys.
6. Wykres wykonany na podstawie danych z naszego przykładu.
Przykłady
innych użytecznych komend.
zmiana skali osi y: (skala zaczyna się w punkcie 0,001 i kończy w punkcie 0,005)
> set yrange [0.001:0.005]
zmiana skali osi x: (skala zaczyna się w punkcie 20 i kończy w punkcie 500)
> set xrange [20:500]
autoskalowanie (Gnuplot ustala sam zakres skali):
> set autoscale
Uwaga: w miejsce liczb w nawiasach kwadratowych
wstawiamy własne wartości!
Wstawienie
siatki na wykres > set grid
ustawienie
skali logarytmicznej na osi y > set logscale y