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



Podobne dokumenty
Wprowadzenie do programu gnuplot

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

gnuplot - wprowadzenie

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

Wizualizacja danych 2D i 3D - Gnuplot

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

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

Gnuplot wprowadzenie v. 2.0

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Wizualizacja danych - Gnuplot

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

Gnuplot. narzędzie do tworzenia wykresów

Wizualizacja danych 2D i 3D - Gnuplot

S88 Badanie rzutu kostką sześcienną

zajęcia 2 Definiowanie wektorów:

Wizualizacja danych 2D i 3D - Gnuplot

Pracownia wykorzystania zasobów internetowych

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

SCILAB. Wprowadzenie do Scilaba:

JAVAScript w dokumentach HTML (1)

Wprowadzenie do Gnuplota

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

Pracownia fizyczna i elektroniczna (w tym komputerowa)

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Elementy termodynamiki atmosfery i fizyki chmur Ćwiczenia 01

Funkcje. Część druga. Zbigniew Koza. Wydział Fizyki i Astronomii

Operatory arytmetyczne

Matlab Składnia + podstawy programowania

Qtiplot. dr Magdalena Posiadała-Zezula

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Krótka instrukcja opracowania danych w programie SciDAVis v. 1-D013-win

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Podstawowe wyrażenia matematyczne

Metody Przetwarzania Danych Meteorologicznych Ćwiczenia 01

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego

Funkcje. Część pierwsza. Zbigniew Koza. Wydział Fizyki i Astronomii

Funkcje wielu zmiennych

opracował: mgr inż. Piotr Marchel Instrukcja obsługi programu Struktura

Cw.12 JAVAScript w dokumentach HTML

Wprowadzenie do pakietów MATLAB/GNU Octave

Języki programowania wysokiego poziomu. PHP cz.2.

Grafika w Matlabie. Wykresy 2D

1 Przygotował: mgr inż. Maciej Lasota

Wykresy. Lekcja 10. Strona 1 z 11

Instalacja

1. Przypisy, indeks i spisy.

ROZDZIAŁ 11 - DODATKI SPIS TREŚCI

1. Opis okna podstawowego programu TPrezenter.

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Wizualizacja danych 2D i 3D - Gnuplot

INSTRUKCJA OBSŁUGI ⓫ Dodatki

Sieci Komputerowe 2 / Ćwiczenia 1

EXCEL. Diagramy i wykresy w arkuszu lekcja numer 6. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 20

Wprowadzenie do środowiska

Ćwiczenia 01. Sylwester Arabas (ćwiczenia do wykładu prof. Hanny Pawłowskiej) 22. lutego 2011 r.

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Wizualizacja danych 2D i 3D - Gnuplot

Matlab Składnia + podstawy programowania

Podstawowe czynnos ci w programie PowerPoint

Spis treści CZĘŚĆ I. NIEPARAMETRYCZNE PROJEKTOWANIE 2D...31

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Mathematica III Równania różniczkowe, układy równań różniczkowych, wykresy, badanie funkcji, importowanie danych, instrukcje warunkowe, pętle

Ćwiczenie nr 2 - Rysowanie precyzyjne

Wizualizacja funkcji w programie MATLAB

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

Notatki z Gnuplota (under construction)

54. Układy współrzędnych

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

OBLICZENIA NA DANYCH

1. Wybierz polecenie rysowania linii, np. poprzez kliknięcie ikony W wierszu poleceń pojawi się pytanie o punkt początkowy rysowanej linii:

Excel 2016 PL : policz w Excelu kroki do celu / Witold Wrotek. Gliwice, cop Spis treści

Lekcja 1: Origin GUI GUI to Graficzny interfejs użytkownika (ang. GraphicalUserInterface) często nazywany też środowiskiem graficznym

Wstęp Arkusz kalkulacyjny Za co lubimy arkusze kalkulacyjne Excel

Kadry Optivum, Płace Optivum

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej

Instrukcja użytkownika

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 6.0

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

Programowanie w języku Matlab

Elementy okna MatLab-a

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Webowy generator wykresów wykorzystujący program gnuplot

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Podstawy Informatyki 1. Laboratorium 1

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

Instrukcja użytkownika ARSoft-WZ3

Edytor tekstu OpenOffice Writer Podstawy

Funkcje standardowe. Filtrowanie

Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika

Transkrypt:

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

Możliwości programu Rysowanie wykresów funkcji i zbiorów danych. Rysowanie obiektów dwu- i trójwymiarowych. Współrzędne kartezjańskie, biegunowe i parametryczne. Dopasowywanie danych do funkcji (fitowanie). Transformacje danych. Różne funkcje matematyczne i liczby zespolone. Generowanie wykresów w różnych formatach graficznych. Generowanie wykresów złożonych (wstawki, tekst, osie logarytmiczne/liniowe, etc.). Generowanie wykresów w trybie wsadowym. Obliczanie wartości wyrażeń arytmetycznych ( kalkulator naukowy ). GnuPlot p. 2/30

Sterowanie programem Sterowanie programem odbywa się poprzez konsolę. Wysiłek włożony w naukę języka gnuplota zwróci się z nawiązką! GnuPlot p. 3/30

Posługiwanie się konsola gnuplota W nazwach poleceń odróżnia się litery małe od dużych. Polecenia z reguły posiadają opcjonalne parametry. Nazwy poleceń i parametrów można skracać, np. plot plik.txt using 1:3 with dots można zastąpić poleceniem p plik.txt u 1:3 w dots Polecenia mogą zająć kilka wierszy; kontynuację polecenia oznaczmy znakiem \ umieszczonym na końcu wiersza. Napisy (np. nazwy plików) umieszcza się między znakami apostrofu ( ) lub cudzysłowu (") p dane.dat. Historię poleceń przewijamy klawiszami i. GnuPlot p. 4/30

Źródła informacji W programie: > help plot >?plot W lokalnej dokumentacji programu Plik gpcard.pdf (do wydruku!) Plik gnuplot.* (html, dvi, ps, pdf, info, hlp, nroff,... ). 44 pliki demonstracyjne w katalogu demo. W Internecie: www.gnuplot.info GnuPlot p. 5/30

Wyrażenia arytmetyczne Funkcje matematyczne: abs, acos, acosh, arg, asin, asinh, atan, atan2, atanh, besj0, besj1, besy0, besy1, ceil, cos, cosh, erf, erfc, exp, floor, gamma, ibeta, inverf, igamma, imag, invnorm, int, lgamma, log, log10, norm, rand, real, sgn, sin, sinh, sqrt, tan, tanh. Liczby zespolone: {1,0}. Operator potęgowania: **. Operator silnia :!. Numer kolumny : $, np: p x.txt u ($1):($3). Pozostałe operatory jak w języku C:!,, &,, *, % (reszta z dzielenia), /, +, -, ==,!=, <, <=, >, >=, && (i), (lub). Operator? :, np. plot x < 0? -x : x. GnuPlot p. 6/30

Definiowanie funkcji i zmiennych > a = 12 # parametr użytkownika > f(x) = sin(x) + cos(a*x) > plot [0:2*pi] f(x) > dist(x,y) = sqrt(x**2 + y**2) > g(x) = \ (x!= 0)? sin(x)/x : 1 Spis funkcji użytkownika: show functions Spis zmiennych: show variables Predefiniowana zmienna: pi GnuPlot p. 7/30

Rysowanie funkcji zakresy Wykresy funkcji tworzy polecenie plot wykres f(x) = x 2 1 w domyślnym zakresie: plot x*x - 1 to samo, ale krócej: p x*x - 1 to samo, ale dla 0 x 10: p [0:10] x*x - 1 to samo dla 0 x 10, 100 y 100: p [0:10][-100:100] x*x - 1 to samo dla 100 y 100: p [:][-100:100] x*x - 1 to samo dla x 10, 100 y 100: p [:10][-100:100] x*x - 1 GnuPlot p. 8/30

Złożone wykresy funkcji Wykres 2 funkcji: > p [0:2*pi] x, sin(x) Funkcja ograniczona do sin x 0: > p [0:2*pi] sin(x)/(sin(x) >= 0) Wartością wyrażenia logicznego jest 1 (prawda) lub 0 (fałsz). Gnuplot pomija punkty o nieokreślonej wartości, np. 1/0. Ciekawa funkcja: > p [0:2*pi] (sin(x) >= 0.5)?\ sin(x) : 0.5 Rysowanie funkcji użytkownika: > f(x) = sin(x) > p [0:2*pi] f(x), f(-x), f(f(x)) GnuPlot p. 9/30

Częstość próbkowania Domyślnie funkcję rysuje się jako łamaną z samples wierzchołkami. Zmiana wartości tej zmiennej: > set samples 500. Wartość domyślna: > show samples sampling rate is 100, 100 Zmienna ta używana jest także podczas interpolacji. GnuPlot p. 10/30

Wykresy biegunowe i parametryczne Współrzędne biegunowe: > set polar > p [0:4*pi] t (1 krzywa) > p [0:4*pi] t, 2*t, 3*t (3 krzywe) Wykresy parametryczne: > set parametric > p sin(t), sin(2*t) Z powrotem do nieparametrycznych wykresów y = f(x): > unset parametric > unset polar Domyślną zmienną zależną jest x dla wykresów kartezjańskich, y = y(x), i kąt t dla wykresów biegunowych, r = r(t). GnuPlot p. 11/30

Osie logarytmiczne Logarytmiczna oś x, podstawa 10: > set logscale x Logarytmiczna oś y, podstawa 2: > set logscale y 2 Logarytmiczne osie x i y : > set logscale xy Powrót do współrzędnych kartezjańskich: > unset logscale xy To samo przy pomocy konsoli: klawisz l jest przełącznikiem trybu logarytmicznego na osi y ; klawisz L jest przełącznikiem trybu logarytmicznego na osi bliższej pozycji kursora myszy. GnuPlot p. 12/30

Właściwości linii Styl linii ustala się w parametrze with: > p [0:2] x*x with points > p [0:2] x*x w p Dostępne rodzaje prezentacji danych: lines points linespoints impulses dots steps fsteps histeps errorbars xerrorbars yerrorbars xyerrorbars boxes boxerrorbars boxxyerrorbars financebars candlesticks vector GnuPlot p. 13/30

Szerokość, kolor i rodzaj linii Po parametrze with można podać dodatkowe opcje: linetype (lt): rodzaj linii (kolor; linia ciągła, przerywana, punktowana,... ). linewith (lw): szerokość linii pointtype (pt): kształt symbolu pointsize (ps): wielkość symbolu Po każdej z tych dodatkowych opcji należy podać liczbę całkowitą z przedziału 1,..., 75. Przykład: > p x*x w linesp lt 2 lw 2 pt 4 ps 5 GnuPlot p. 14/30

Komenda test Znaczenie numerycznych argumentów opcji linetype, linewith, pointtype i pointsize najłatwiej określić na podstawie wydruku pliku ps_symbols.ps dołączanego do programu gnuplot. Inna metoda to uruchomienie komendy test i zrobienie stosownego wydruku. Każdy terminal inaczej interpretuje te liczby! GnuPlot p. 15/30

Wykresy zbiorów danych Większość parametrów używanych przy rysowaniu funkcji ma też zastosowanie do wykresów zbiorów danych. Wykres danych w pliku dane.dat: > p dane.dat. Bardziej złożony przykład: > p [1:] dane.dat w points ps 2 pt 4 Kilka wykresów na raz: > p [1:10] dane.dat w p pt 4,\ sin(x) w l lt 4,\ drugi.dat w p pt 5 GnuPlot p. 16/30

Struktura plików z danymi Pliki z danymi mogą mieć dowolną liczbę kolumn: > p dane.dat u 7:2 Pliki z danymi mogą zawierać dowolna liczbę bloków danych; Bloki oddziela się od siebie pustymi wierszami. Do bloków odwołujemy się opcją index: > p dane.dat index 2:4 Numeracja bloków zaczyna się od 0. Wykres bloków 0,3,6,9,12: > p dane.dat index 0:12:3 Jeszcze większe możliwości ma opcja every... GnuPlot p. 17/30

Dane ze znana niepewnościa Dane z estymatorem błędu pomiaru (3. kolumna): > p dane.dat with errorbars Inne tryby wyświetlania błędów: xerrorbars yerrorbars xyerrorbars GnuPlot p. 18/30

Opcja using Opcja using służy do manipulowania danymi. Wykres kolumny 3 względem 1: p [:] dane.dat u 1:3 Wykres kolumny 2 względem x = 0, 1,...: p dane.dat u 0:1 Wykres sumy kolumn 2 i 3 względem kol. 1: p dane.dat u 1:($2 + $3) $n oznacza liczbę odczytaną z n-tej kolumny Transformacja danych: p dane.dat u 1:(log(abs($2))) Filtrowanie danych: p dane.dat u 1:($2 < 10? $2 : 1/0) GnuPlot p. 19/30

Wygładzanie danych Aproksymacja danych krzywą ciągłą: > plot dane.dat u 1:2:(1.0)\ smooth acsplines Trzeci parametr opcji using określa stopień wygładzania danych; im jest mniejszy, tym wykres będzie słabiej przyciągany do punktów wykresu. Interpolacja danych krzywą ciągłą: > plot dane.dat smooth csplines GnuPlot p. 20/30

Opis osi Ustalenie tytułu osi: set xlabel "czas t" set ylabel "energia" Główne znaczniki osi: set xtics 5 (..., 5, 0, 5,...) set ytics 0 2 10 (0, 2, 4, 6, 8, 10) set log x; set xtics 1,100,1e6 (1, 10 2, 10 4, 10 6 ) Znaczniki pomocnicze (10 przedziałów, 9 znaczników): set mxtics 10 Chowanie prawego i górnego brzegu rysunku: set border 3 GnuPlot p. 21/30

Dodatkowe napisy Do umieszczania dodatkowych napisów służy polecenie set label. Napis nr 3, f(x), obok punktu (1, 2): > set label 3 "f(x)" at 1,2 Domyślnie używa się układu współrzędnych zdefiniowanych przez osie wykresu. Napis x 2 wycentrowany w środku wykresu: > set label "xˆ2" \ at graph 0.5,0.5 center Napis π o wysokości 24pt: > set label "p" font "Symbol,24" Informacja o wszystkich napisach > show label GnuPlot p. 22/30

Dodatkowe strzałki i linie Do umieszczania dodatkowych strzałek i linii służy polecenie set arrow. Strzałka nr 1 od punktu (1, 2) do (1, 3): > set arrow 1 from 1,2 to 1,3 Linia nr 3, gruba na 2pt, od (1, 2.5) do (1, 3): > set arrow 3 from 1,2.5 to 1,3 nohead lw 2 Usunięcie wszystkich strzałek i linii: > unset arrow Usunięcie strzałki nr 3: > unset arrow 3 Wyświetlenie wszystkich strzałek i linii: > show arrow GnuPlot p. 23/30

Legenda i tytuł rysunku Opis linii w legendzie: > p [0:2] x*x title "xˆ2" Pominięcie opisu linii w legendzie: > p [0:2] x*x notitle Zdefiniowanie tytułu całego rysunku: > set title "Piękny rysunek" GnuPlot p. 24/30

Położenie i rozmiar rysunku Standardowo położenie i rozmiar rysunku ustala się w jednostkach ekranu, w których terminal (kartka) ma wymiar 1 1. Położenie lewego dolnego wierzchołka ustala się poleceniem set origin set origin 0.1, 0.1 Rozmiar rysunku ustala polecenie set size set size 0.5, 0.5 Równa długość osi: set size square Odwzorowanie geograficzne : set size ratio -1 GnuPlot p. 25/30

Rysunek w rysunku położenie całości: > set origin 0,0 > set size 1,1 > set multiplot # parametry rysunku nr 1: > set origin 0,0 > set size 1,0.45 >... > plot [-1:1] erfc(x) # parametry rysunku nr 2: > set origin 0,0.5 > set size 1,0.45 >... > plot [-1:1] erf(x) rysunek #2 > unset multiplot GnuPlot p. 26/30

Rysunek w rysunku Efekt: 2 1.8 erfc(x) 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0-1 -0.5 0 0.5 1 1 0.8 erf(x) 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 -1-0.5 0 0.5 1 GnuPlot p. 27/30

Drukowanie do pliku 1. Zmiana terminala: > set terminal postscript eps enhanced 2. Zmiana urządzenia wyjściowego: > set output "rysunek.eps" 3. Zapis rysunku w pliku: > p [1:3] f(x), w.dat 4. Zamknięcie pliku: > set output 5. Powrót do terminala ekranowego : > set term X (X-windows) > set term windows (MS Windows) Wykaz ( 35) dostępnych terminali: > set term GnuPlot p. 28/30

Zapisywanie sesji Zapisanie zmiennych, funkcji, bieżących parametrów rysunku i ostatniego polecenia plot: save nazwa_pliku. Zapis zmiennych / funkcji / parametrów: save functions nazwa_pliku save var nazwa_pliku save set nazwa_pliku Odczytanie tego pliku: load nazwa_pliku Zapisanie historii sesji: history nazwa_pliku GnuPlot p. 29/30

Polecenia pomocnicze Wyświetlenie nazwy bieżącego katalogu: pwd Zmiana bieżącego katalogu: cd podkatalog/inny_katalog GnuPlot p. 30/30