Wykonywanie wykresów za pomocą programu Gnuplot

Kartka z wykresami oraz analizą

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ętygnuplot>

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: 2Zostaje 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

Okno terminala z programem Gnuplot, oraz okno wyświetlonego wykresu.
Rys 1 Okno terminala z programem Gnuplot, oraz okno wyświetlonego wykresu.
rys Efekt polecenia
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

Terminal programu z wyświetlonymi wartościami współczynników prostej regresji.
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.
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 )

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 )

Rys 5 Wykres z opisem osi i tytułem
Rys 5 Wykres z opisem osi i tytułem

Niepewność pomiarowa jest naniesiona na wykres w wyniku dodania do polecenia plot opcji with errorbarsxerrorbars, 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.
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

Projekt "Zintegrowany Program Rozwoju Uniwersytetu Wrocławskiego 2018-2022" współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Społecznego

Fundusze Europejskie
Rzeczpospolita Polska
Unia Europejska
NEWSLETTER