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



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

gnuplot - wprowadzenie

Wizualizacja danych 2D i 3D - Gnuplot

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Wizualizacja danych - Gnuplot

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

zajęcia 2 Definiowanie wektorów:

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

Podstawy Informatyki 1. Laboratorium 1

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

Scilab - wprowadzenie

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Wizualizacja danych 2D i 3D - Gnuplot

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

1. Wypisywanie danych

1 Programowanie w matlabie - skrypty i funkcje

Wprowadzenie do MS Excel

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

Instalacja

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Funkcje matematyczne w C. Programowanie w C Marek Pudełko

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

ARKUSZ KALKULACYJNY komórka

Wizualizacja danych 2D i 3D - Gnuplot

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

Podstawy obsługi pakietu GNU octave.

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Matlab MATrix LABoratory Mathworks Inc.

Wprowadzenie do środowiska

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Programowanie Delphi obliczenia, schematy blokowe

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Cw.12 JAVAScript w dokumentach HTML

Podstawy programowania w języku C i C++

3 Przygotował: mgr inż. Maciej Lasota

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

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

Matlab Składnia + podstawy programowania

ARKUSZ KALKULACYJNY MICROSOFT EXCEL

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY

Temat: Organizacja skoroszytów i arkuszy

Wprowadzenie do pakietów MATLAB/GNU Octave

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

1 Podstawy c++ w pigułce.

Wykorzystanie programów komputerowych do obliczeń matematycznych

Instrukcja obsługi programu Do-Exp

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

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

Podstawy nauk przyrodniczych Matematyka Wstęp

Gnuplot. narzędzie do tworzenia wykresów

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

ABC Excel 2016 PL / Witold Wrotek. Gliwice, cop Spis treści

Laboratorium Programowanie Obrabiarek CNC. Nr H7

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

Algorytmika i Programowanie VBA 1 - podstawy

MS-DOS polecenia wewnętrzne i

Praca w programie Power Draft

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

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

Wprowadzenie do Scilab: funkcje i wykresy

Wstęp Arkusz kalkulacyjny Za co lubimy arkusze kalkulacyjne Excel

2,34E7 (tzw. format naukowy - odpowiada 2,34 107) przecinek Lp. Data Towar Ilość Cena jednostkowa Wartość

EDYCJA TEKSTU MS WORDPAD

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

Odczyt danych z klawiatury Operatory w Javie

Gnuplot wprowadzenie v. 2.0

Operatory arytmetyczne

Trochę o plikach wsadowych (Windows)

dr inż. Jarosław Forenc

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

MATrix LABoratory. A C21 delta tvx444 omega_zero. hxx J23 aaa g4534 Fx_38

EXCEL wprowadzenie Ćwiczenia

Zakład Systemów Rozproszonych

Funkcje Andrzej Musielak 1. Funkcje

Instalacja Pakietu R

Wstęp do Programowania Lista 1

Jak korzystać z Excela?

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

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

INSTRUKCJA INSTALACJI I URUCHOMIENIA PROGRAMÓW FINKA DOS W SYSTEMACH 64 bit

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

3.7. Wykresy czyli popatrzmy na statystyki

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

JAVAScript w dokumentach HTML (1)

ROZSZERZANIE MOŻLIWOŚCI...

Tworzenie i modyfikowanie wykresów

DesignCAD 3D Max 24.0 PL

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

Mikrokontroler ATmega32. Język symboliczny

1. Arkusz kalkulacyjny (9) Za co lubimy arkusze kalkulacyjne (12) Excel 2013 (12) Podsumowanie (14) 2. Uruchamianie programu (15) Podsumowanie (18)

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Transkrypt:

gnuplot czyli jak zrobić wykres, żeby się nie narobić Uniwersytet Śląski, Instytut Informatyki 14 listopada 2008

Co to jest gnuplot i co nam oferuje? program do tworzenia wykresów oraz wizualizacji danych rozwijany od 1986 roku aktualna wersja 4.2.4 (trwają prace nad wersją 4.3) wieloplatformowość (UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari oraz inne) tworzenie wykresów 2D i 3D tworzenie wykresów słupkowych dowolne formatowanie wykresów przetwarzanie skryptów rysowanie wykresów na podstawie danych z pliku możliwość zapisu wykresu do pliku graficznego (różny format zapisu) nie wymaga instalacji ściągamy i działa

Źródła informacji o gnuplocie http://www.gnuplot.info/ główna strona gnuplota http://www.gnuplot.info/docs/gnuplot.pdf fajowa dokumentacja http://t16web.lanl.gov/kawano/gnuplot/index-e.html fajowe przykłady Gnuplot in Action książka autorstwa Philippa K. Janerta

Skąd wziąć gnuplota? http://sourceforge.net/project/downloading.php?group_id=2055&use_mirror= heanet&filename=gp424win32.zip&82603477 gnuplot do pobrania dla systemu Windows

Jak tworzyć wykresy? wydawać komendy bezpośrednio w programie gnuplot (tryb interaktywny) utworzyć skrypt i przekazać go do wykonania gnuplotowi Rysunek: Tryb interaktywny gnuplota Rysunek: Wywołanie skryptu w gnuplocie

Co lepsze? tryb interaktywny jeśli chcemy łatwo i szybko zrobić wykres (dodatkowo możemy ułatwić sobie pracę wykorzystując opcje z menu gnuplota) wykonanie skryptu jeżeli chcemy rysować wykresy w trakcie działania programu i wyświetlić je jako obraz w trakcie jego działania Istnieje również możliwość wykonania skryptu odpowiednią komendą w trybie interaktywnym.

Wyrażenia Tworzenie wyrażeń, które następnie będą wizualizowane, jest proste i intuicyjne. W skład wyrażeń wchodzą zmienne, operatory oraz funkcje. W gnuplocie możliwe jest również wykorzystanie instrukcji warunkowych, co pozwala na rysowanie wykresów funkcji, które są określone różnymi wzorami w zależności od przedziału dziedziny.

Operatory jednoargumentowe negacja liczby: a + jednoargumentowy plus (nie jest wykonywana żadna operacja): +a uzupełnienie do jedynki: a! logiczna negacja:!a! operacja silni: a! $ użycie argumentu (kolumny) w dla instrukcji using: $a wymagany argument typu całkowitoliczbowego

Operatory dwuargumentowe potęgowanie: a b mnożenie: a b / dzielenie: a/b % operacja modulo: a%b + dodawanie: a + b odejmowanie: a b == równość: a == b! = nierówność: a! = b < mniejsze niż: a < b <= mniejsze lub równe: a <= b > większe: a > b >= większe lub równe: a >= b & bitowe AND: a&b ˆ bitowe XOR: aˆb bitowe OR: a b && logiczne AND: a&&b logiczne OR: a b wymagane argumenty typu całkowitoliczbowego

Wybrane funkcje w gnuplocie abs(x) wartość bezwzględna: abs( 3) ceil(x) sufit: ceil(4.23) cos(x) kosinus: cos(0.5) exp(x) funkcja wykładnicza: exp(4) floor(x) podłoga: floor( 3.56) imag(x) część urojona liczby zespolonej: imag(3, 2) int(x) część całkowita liczby: int(12.23) log(x) logarytm naturalny (o podstawie e): log(4.5) log(10) logarytm dziesiętny (o podstawie 10): log10(13.3) rand(x) generator liczb pseudolosowych z zakresu [0, 1]: rand(0) real(x) część rzeczywista: real(3, 56) sgn(x) znak liczby (1 dla x > 0, 0 dla x = 0, 1 dla x < 0): sgn( 3) sin(x) sinus: sin(45) sqrt(x) pierwiastek kwadratowy: sqrt(4) tan(x) tangens: tan(12.83) liczba zespolona wymagana jako argument

Kolejność wykonywania działań w gnuplocie jest identyczna jak w językach programowania Fortran i C. Do zmiany priorytetu działań służą okrągłe nawiasy: 2 2 wynik: 4 ( 2) 2 wynik: 4

Oprócz wymienionych, gnuplot dostarcza również wiele innych operatorów i funkcji. Pozwalają one m. in. na przetwarzanie łańcuchów znaków, dat oraz odczytywanie danych pochodzących z klawiatury i myszki. gnuplot oferuje także możliwość definiowania własnych zmiennych oraz funkcji. Więcej na ten temat znajduje się w dokumentacji.

Subiektywny przegląd komend Do tworzenia wykresów służą komendy (polecenia). W dalszej części przedstawiono najistotniejsze z nich, a po nich te mniej istotne (ale to i tak nie wszystkie). Nieformalna budowa komendy nazwa parametry

plot wyrażenie rysuje wykres podanego wyrażenia (funkcje jednowymiarowe)

Przykład plot sin(x)

plot plik using kolumnax : kolumnay rysuje wykres na podstawie danych zawartych w pliku Przykład plik ze współrzędnymi punktów do zaznaczenia na wykresie

Przykład plot dane.txt using 1 : 2

plot plik using kolumnax : kolumnay smooth bezier rysuje wykres na podstawie danych zawartych w pliku i łączy poszczególne punkty linią Przykład plik ze współrzędnymi punktów do zaznaczenia na wykresie

Przykład plot dane.txt using 1 : 2 smooth bezier

Zapisywanie wykresów metoda pierwsza metoda dla terminalu typu windows w trybie interaktywnym wyłącznie kursora polecenie unset mouse wykonanie komendy rysującej kliknięcie prawym przyciskiem myszy na wykresie i wybranie opcji Copy to Clipboard wykres znajduje się w schowku systemowym można go następnie wkleić do programu graficznego w celu dalszej obróbki

Przykład unset mouse plot sin(x)

Zapisywanie wykresów metoda druga metoda dla skryptów bezpośrednie zapisywanie do plików ustawienie odpowiedniego terminalu set terminal png typ pliku ustawienie pliku wyjściowego, do którego zostanie zapisany wykres set output wynik.png komenda rysująca wykres zamknięcie pliku unset output Terminale gnuplot obsługuje około 80 terminali, m. in.: png, gif, corel, latex, windows, linux, itd. Pełna lista dostępnych terminali wraz z opisem ich parametrów znajduje się w dokumentacji gnuplota.

Przykład w wyniku wykonania poniższego skryptu na dysku w bieżącym katalogu gnuplota powstanie plik wynik.png z wykresem funkcji

set xrange ustawia zakres zmiennej x Przykład set xrange [ 100 : 100] na wykresie będzie widoczny przedział od 100 do 100 Analogicznie ustawia się zakres zmiennej y oraz z (w przypadku funkcji dwuwymiarowych).

Przykład set xrange [ 100 : 100]

Ustawienie opisu funkcji plot wyrażenie ti nazwa Przykład plot 0.4 x 3.5 ti kreski w gnuplocie ustawia nazwę funkcji na kreski w gnuplocie plot 0.4 x 3.5 ti funkcja nie zostanie opisana

Przykład plot 0.4 x 3.5 ti kreski w gnuplocie

set xtics ustawia etykiety na osi x Przykład set xtics 1, 2, 10 wyświetla liczby w zakresie od 1 do 10 co 2 jednostki set xtics 10 wyświetla liczby co 10 jednostek set xtics (1, 15, 23, 45) wyświetla liczby 1, 15, 23 i 45 w odpowiednim miejscu na osi set xtics ( nisko 1, w sam raz 0, wysoko 100) wyświetla napis nisko przy wartości 1, w sam raz przy wartości 0 oraz wysoko dla wartości 100 Analogicznie ustawia się etykiety na osiach y oraz z (w przypadku funkcji dwuwymiarowych).

Przykład set xtics pi, pi/4, pi set ytics ( nisko 0, wysoko 1)

set label tekst ustawia etykiety w dowolnym punkcie na wykresie Przykład set label środek at 0, 0 w punkcie (0, 0) zostanie wyświetlony tekst środek

Przykład set label środek at 0, 0

set xlabel tekst ustawia opis osi x Przykład set xlabel oś iksów Analogicznie ustawia się etykiety na osiach y oraz z (w przypadku funkcji dwuwymiarowych).

Przykład set xlabel oś iksów

splot wyrażenie rysuje wykres podanego wyrażenia (funkcje dwuwymiarowe)

Przykład splot sin(x)*cos(y)

set pm3d nakłada teksturę na siatkę

Przykład set pm3d

set isosamples wartość reguluje jakość wykresu im większa wartość, tym lepsza jakość (niestety wzrasta, i to znacznie, czas tworzenia wykresu)

Przykład set isosamples 10

Przykład set isosamples 50

Przykład set isosamples 100

set hidden3d ukrywa linie wykresu

Przykład set hidden3d

set pm3d map tworzy mapę (rzut pionowy) wykresu

Przykład set pm3d map

set palette definiuje teksturę nakładaną na wykres Przykłady set palette gray tekstura w odcieniach szarości set palette positive tekstura normalna set palette negative tekstura odwrócona względem positive set palette rgbformulae 21, 22, 23 przykładowa (kulturalna) tekstura zdefiniowana przez użytkownika

Przykład set palette rgbformulae 21, 22, 23

if (warunek) instrukcja; else instrukcja umożliwia wykonanie pewnych czynności przy spełnionym warunku pojedynczą instrukcję można zastąpić blokiem instrukcji (każdą instrukcję oddziela się wówczas średnikiem: instrukcja1; instrukcja2;... ; instrukcjan;) Przykład a = 10 if (a = 10) plot 2 x; else plot 1.4 x 3 a = 10 if (a = 10) plot 2 x; a = a 1; else plot 1.4 x 3

Operator?: działa tak samo jak w języku C a?b:c jeżeli wartość wyrażenia a jest różna od 0, to obliczane i zwracane jest wyrażenie b, w przeciwnym wypadku c operator pomocny przy tworzeniu wykresów funkcji określonych różnymi wzorami dla różnych przedziałów dziedziny oraz rysowaniu punktów spełniających zadany warunek

Przykład plot x < 5? 0.5 x : sin(x)

quit lub exit kulturalne zamknięcie gnuplota lub przerwanie wykonywania skryptu

help temat wyświetla informacje dotyczące określonego w parametrze tematu można również użyć samej komendy help Przykład help pwd wyświetla informacje dotyczące komendy pwd

unset paramet przywraca standardową gnuplotową wartość dla parametru Przykład unset xrange ustawienie domyślnego zakresu dla zmiennej x unset mouse wyłączenie kursora myszki na wykresie

show paramet wyświetla ustawienia parametru Przykład show xrange wyświetla ustawienie zakresu dla zmiennej x show mouse wyświetla ustawienie kursora myszki

pwd wyświetla bieżący katalog roboczy gnuplota

cd ścieżka służy do zmiany bieżącego katalogu roboczego gnuplota zamiast apostrofów można użyć cudzysłowów, ale wtedy pojedynczy znak backslash \ należy podwoić \\ (zalecane jest używanie apostrofów) Przykład cd c:\gnuplot nowym katalogiem roboczym będzie c:\gnuplot cd c:\gnuplot błędny zapis (pojedynczy backslash) cd c:\\gnuplot OK cd.. przejście do katalogu nadrzędnego cd d: zmiana katalogu roboczego na dysk d:

pause czas tekst polecenie wstrzymujące działania gnuplota na określony czas wstrzymanie może być połączone z wyświetleniem pewnego tekstu umożliwia również oczekiwanie na reakcję użytkownika (np. naciśnięcie klawisza myszki lub klawiatury) Przykład pause -1 oczekiwanie na naciśnięcie klawisza ENTER pause 5 oczekiwanie przez 5 sekund pause 3 Postój wyświetlanie przez 3 sekundy napisu Postój

system komenda wykonuje polecenie sytemu operacyjnego Przykład system copy skrypt.txt c:\archiwum kopiuje plik skrypt.txt z roboczego katalogu gnuplota do katalogu c:\archiwum

shell uruchamia interaktywną powłokę systemu operacyjnego (w przypadku Windowsa jest to linia komend)

load plik umożliwia wykonanie skryptu zapisanego w pliku możliwe jest zagnieżdżanie wykonywania skryptów Przykład Rysunek: Wywołanie skryptu w trybie interaktywnym Rysunek: Wywołanie skryptu z innego skryptu

reread powoduje ponowne rozpoczęcie przetwarzania skryptu umożliwia tworzenie ruchomych wykresów Przykład skrypt wykorzystujący komendę reread

Przykład a = 10 load skrypt.txt wynikiem wykonania powyższych komend będzie przesuwający się w poziomie wykres funkcji sin(x)

test terminal palette wyświetla informacje o ustawieniach aktualnie używanego terminalu lub palety Przykład test terminal test palette rgb

reset przywraca początkowe wartości wszystkim parametrom gnuplota (nie dotycczy poleceń set term oraz set output)

clear czyści ekran lub urządzenie wyjściowe ustawione poprzez komendę set output

set terminal latex ustawia terminal wyjściowy na plik zgodny z systemem LATEX umożliwia zapis wykresu do pliku z rozszerzeniem.tex taki plik z zapisanym wykresem można następnie umieścić w tekście, który został napisany w LATEX za pomocą instrukcji \include{plik} (nazwa pliku bez rozszerzenia.tex)

Przykład wykonanie poniższego skryptu utworzy plik wynik.tex, w którym zapisany jest wykres

Przykład można go umieścić w za pomocą \include{wynik} w tekście LATEX

Przykład po skompilowaniu tekstu wykres będzie widoczny w tekście

Informacje Dalsze informacje znajdują się w dokumentacji gnuplota (nieco ponad 200 stron, więc każdy znajdzie coś interesującego).