Tvorba grafov v QtiPlot



    Obsah 2. kapitoly

    2. Tvorba grafov v QtiPlot
    2.1. 2D grafy
    2.1.1. Vytvorenie 2D grafu z údajov
    2.1.2. 2D graf z funkcie
    2.2. 3D grafy
    2.2.1. Tvorba 3D grafu priamo z funkcie
    2.2.2. 3D graf vytvorený z matice
    2.3. Viacvrstvové grafy
    2.3.1. Tvorba panelu viacvrstvového grafu
    2.3.2. Vytvorenie viacvrstvového grafu krok za krokom



    2. Tvorba grafov v QtiPlot


    2.1. 2D grafy

    Základom 2D grafu je definovanie hodnôt Y ako funkcií hodnôt X. Sú dve možnosti ako nakresliť 2D graf v závislosti od toho, ako sú hodnoty X, Y definované:
  • hodnoty X, Y môžu byť v tabuľke. Potom je potrebné vybrať aspoň jeden stĺpec s hodnotami X a jeden stĺpec s hodnotami Y. Hodnoty boli špecifikované príkazom Column Options... command. Potom je možné označiť stĺpce a použiť príkaz z Plot menu na tvorbu grafu.
  • ak chcete nakresliť funkciu, nepotrebujete na to tabuľku. Je možné priamo použiť príkaz New -> New Function Plot command. Otvorí sa príslušné dialógové okno dialog box a tu je potom možné definovať matematické vyjadrenie funkcie.
  • kombinovaným spôsobom je definovanie tabuľky a potom jej následné vyplnenie výsledkami funkcie. To je možné urobiť príkazom Set Column Values... command. Potom je možné označiť stĺpce a použiť príkaz z Plot menu na vytvorenie grafu z daných údajov. QtiPlot vytvorí nové okno grafu a graf bude vložený do novej vrstvy.
    Keď je graf vytvorený, je možné prispôsobiť grafické prvky grafu príkazom z Format Menu. Taktiež je nové pridať nové prvky (text, čiary alebo šípky, novú legendu, obrázky) do grafu príkazmi z Graph Menu.



    2.1.1. Vytvorenie 2D grafu z údajov

    Údaje musia byť uložené v tabuľke. Je niekoľko spôsobov ako vložiť hodnoty X, Y do tabuľky: je možné ich napísať priamo použitím klávesnice alebo načítať ich zo súboru. My použijeme prvý spôsob, pre druhý je potrebné použiť príkaz Import ASCII... command.
    Prvým krokom je vytvorenie prázdneho projektu príkazom New -> New Project command z File menu, taktiež je možné použiť klávesovú skratku Ctrl+N alebo ikonku vo File toolbar. Potom je potrebné vytvoriť novú tabuľku použitím príkazu New -> New Table command z File menu alebo klávesovú skratku Ctrl+T alebo ikonku z File toolbar.
    Po vytvorení má tabuľka dva stĺpce (jeden pre hodnoty X a jeden pre Y) a 32 riadkov. Riadky a stĺpce je možné pridať označením riadku alebo stĺpca a použitím pravého tlačidla myši, počet riadkov a stĺpcov je možné upraviť aj použitím príkazov Rows command a Columns command z Table menu. Po vpísaní hodnôt dostaneme tabuľku:


Obr. 2.1 Jednoduchý 2D graf: tabuľka

    Musíte označiť dva stĺpce, vytvoriť graf (na obrázku je jednoduchý bodový 2D graf) príkazom Scatter command z kontextového menu alebo kliknutím na príslušnú ikonku z Plot toolbar alebo príkazom Scatter command z Plot menu. Vytvorili sme graf, ktorý používa východzie nastavenia pre všetky jeho súčasti. Tieto nastavenia je možné prispôsobiť v okne nastavení preferences dialog. S východzími nastaveniami vyzerá graf nasledovne:


Obr. 2.2 Jednoduchý 2D graf: východzie nastavenia

    Potom je možné graf prispôsobiť. Dvojkliknutím na body sa otvorí okno Custom curves dialog, ktoré sa používa na modifikovanie značiek. Dvojkliknutím na osi sa otvorí okno general plot options dialog, kde je možné zmeniť mierku, font pre osi, menovky atď. Taktiež je možné pridať čiary mriežky pre osi X alebo Y, atď. Dvojkliknutím na textový prvok (menovku X, Y, názov grafu) je možné zmeniť text a vzhľad týchto prvkov. Graf po úprave potom vyzerá nasledovne:


Obr. 2.3 Jednoduchý 2D graf: upravený graf

    Napokon je možné uložiť projekt ako súbor s príponou .qti príkazom Save Project command z File menu alebo použitím klávesovej skratky Ctrl+S alebo ikonkou z File toolbar. V závislosti od aplikácie je možné exportovať graf do štandardného obrázkového súboru príkazom Export Graph -> Current command z File menu (alebo skratkou Alt+G).
    Existuje niekoľko typov grafov, ktoré je možné z tabuľky vytvoriť. Nachádzajú sa v Plot menu.
    Pre údaje je možné použiť až 4 osi.


Obr. 2.4 2D graf s dvoma osami Y

    Okrem úprav, ktoré už boli opísané, osi používané pre každú krivku boli definované v dialógovom okne Custom Curves Dialog a dve šípky boli pridané príkazom Draw Arrow command.



    2.1.2. 2D graf z funkcie

    Sú dva spôsoby ako vytvoriť takýto graf: buď je graf vytvorený priamo z funkcie alebo sa vytvorí tabuľka a tá sa vyplní vypočítanými hodnotami funkcie a potom sa graf vytvorí klasickým spôsobom.


    2.1.2.1 Vytvorenie grafu priamo z funkcie
    Ak chcete priamo vytvoriť graf funkcie, môžete použiť príkaz New -> New Function Plot command z File menu alebo Ctrl+F alebo ikonku z File toolbar.
    Týmto príkazom sa otvorí dialógové okno Add Function Curve dialog. Potom môžete zadať výraz matematickej funkcie, rozsah hodnôt X pre graf a počet bodov, ktoré budú použité pre zvolený rozsah X. Okrem klasických funkcií Y=f(x) môžu byť definované aj parametrické funkcie a funkcie s hodnotami v polárnych súradniciach.


Obr. 2.5 Vytvorenie grafu priamo z funkcie

    2.1.2.2 Vyplnenie tabuľky hodnotami funkcie
    Ak chceme pracovať nielen s grafom, ale aj s údajmi, je možné vytvoriť novú tabuľku tak, ako to bolo opísané v predošlej časti. Potom je možné vyplniť tabuľku hodnotami funkcie príkazom Set Column Values... command.
    Aby sme dostali taký istý graf ako v predošlom príklade, potrebujeme vytvoriť novú tabuľku (skratka Ctrl+T), vybrať prvý stĺpec a použiť príkaz Set Column Values... command z kontextového menu alebo z Table menu. Symbol pre číslo riadku je i, takže je možné napísať výraz pre funkciu v tvare i/10 a použiť 300 riadkov.


Obr. 2.6 Graf funkcie: vyplnenie stĺpca X

    Ďalším krokom je vybranie druhého stĺpca a použitie toho istého príkazu. Výraz je funkciou hodnôt X, čiže prvého stĺpca nazvaného col(1).


Obr. 2.7 Graf funkcie: vyplnenie stĺpca Y

    Keď je tabuľka pripravená, je možné vytvoriť graf tak ako to bolo vysvetlené v predošlej časti.



    2.2. 3D grafy

    3D graf je vytvorený z údajov definovaných ako Z=f(X,Y). Podobne ako pri 2D grafoch, v závislosti od toho, ako sú definované hodnoty X, Y, Z, je niekoľko spôsobov ako vytvoriť 3D graf:
  • je možné mať hodnoty Z v matici. QtiPlot bude považovať všetky údaje v matici za hodnoty
        Z a hodnoty X a Y môžu byť definované ako funkcia čísiel stĺpcov a riadkov.
    Údaje do matice je možné zadať niekoľkými spôsobmi:
    • jeden za druhým vkladaním cez klávesnicu,
    • načítaním ASCII súboru do tabuľky a konvertovaním tabuľky na maticu,
    • zadaním hodnôt prostredníctvom funkcie.
  • ak chcete nakresliť funkciu, nepotrebujete žiadnu maticu. Môžete priamo použiť príkaz New -> New Surface 3D Plot command. Otvorí sa príslušné dialógové okno a tu budete môcť definovať matematické vyjadrenie funkcie.
    Existuje niekoľko druhov 3D grafov, z ktorých je možné si vyberať, pozri časť Plot3d menu.


Obr. 2.8 Príklad 3D grafu

    3D grafy používajú OpenGL, takže je možné jednoducho graf otáčať, zmenšiť, zväčšiť a posunúť použitím myši. Cez okno 3D plot settings dialog alebo cez Surface 3D Toolbar je možné meniť preddefinované nastavenia trojrozmerného grafu: mriežky, veľkosť, osi, menovky, legendu a farby pre rôzne súčasti grafu.
    Existuje niekoľko typov grafov, ktoré je možné vytvoriť z matice. Podrobnejšie informácie sú v časti Plot3d menu.



    2.2.1. Tvorba 3D grafu priamo z funkcie

    Ide o najjednoduchší spôsob ako vytvoriť 3D graf. Vytvára sa príkazom New -> New Surface 3D Plot command z File menu alebo priamo príkazom Ctrl+Alt+Z. Otvorí sa dialógové okno.


Obr. 2.9 Definovanie nového plošného grafu

    Je možné zadať funkciu Z=f(X,Y) a rozsahy pre X, Y a Z. Potom QtiPlot vytvorí východzí 3D graf.


Obr. 2.10 Plošný 3D graf s východzími nastaveniami

    Graf je potom možné prispôsobiť otvorením okna Surface plot options dialog. Je možné modifikovať rozsahy osí a parametre, pridať nadpis, zmeniť farby rôznych prvkov, modifikovať pomer strán grafu. Ďalej je možné použiť rôzne príkazy z 3d plot toolbar na pridanie mriežok na steny alebo zmeniť štýl grafu. Po niekoľkých úpravách je možné vytvoriť nasledovný graf.


Obr. 2.11 Plošný 3D graf po úpravách

    Ak chcete zmeniť samotnú funkciu, môžete použiť príkaz surface... command, ktorý sa aktivuje v kontextovom menu pravým kliknutím na 3D plot. Takto sa znovu otvorí okno define surface function dialog box.



    2.2.2. 3D graf vytvorený z matice

    Druhým spôsobom ako získať 3D graf je použitie matice. Prvým krokom je vyplnenie matice. To je možné spraviť definovaním funkcie.
    Príkazom New -> New Matrix command sa vytvorí prázdna matica s rozmermi 32x32 buniek. Potom sa príkazom Set Dimensions... command zmení počet riadkov a stĺpcov matice. Toto dialógové okno sa používa aj na definovanie rozsahov X a Y.


    Potom sa príkazom Set Values... command vyplnia bunky číslami. Rozsahy X a Y definované v predošlom kroku toto dialógové okno nepozná, funkcia sa potom definuje číslami riadkov a stĺpcov (i a j) ako vstupnými parametrami (pre detaily pozri časť set-values).
    Iným spôsobom ako vytvoriť maticu, je importovať ASCII súbor do tabuľky príkazom Import ASCII... command z File menu. Tabuľka potom môže byť transformovaná na maticu príkazom Convert to Matrix command z Table menu. Túto maticu je potom možné použiť na vytvorenie 3D grafu jedným z príkazov z Plot menu.
    Keď je tabuľka pripravená, je možné vytvoriť graf tak ako to bolo vysvetlené v predošlej časti.



    2.3. Viacvrstvové grafy

    Viacvrstvové okná môžu obsahovať viac grafov (vrstiev) s rôznymi vlastnosťami. Každá vrstva má príslušné tlačidlo s číslom, ktoré je stlačené pre vrstvu, ktorá je momentálne aktívna. Aktívna môže byť v danom čase len jedna vrstva a nástroje pre graf (približovanie, kurzor, nástroje na kreslenie, vymazanie a presúvanie bodov) sa dajú použiť iba pre túto jednu vrstvu. Každý graf môže byť aktivovaný kliknutím naň alebo na príslušné tlačidlo.
    Na usporiadanie vrstiev sa používa okno Arrange Layers dialog. Pridať alebo odstrániť vrstvy je možné príkazmi Add Layer command a Remove Layer command alebo kopírovaním a vložením vrstiev z jedného viacvrstvového okna do iného. Všetky tieto funkcie sú dostupné v Graph menu, použitím Plot toolbar alebo cez kontextové menu (kliknutie pravým tlačidlom niekde do viacvrstvového okna okrem priestoru grafu).
    Zmeniť rozmery vrstvy a presúvať ju je možné cez Layer geometry dialog. Usporiadať grafy a meniť ich veľkosť je možné aj ručne. Celý graf môže byť premiestnený spôsobom ťahaj a pusť: kliknúť na graf, držať stlačené ľavé tlačidlo myši a presunúť ho.
    Držaním klávesy Shift a roztiahnutím okraju grafu je možné zmeniť veľkosť grafu na požadovanú veľkosť. Pri prechádzaní myšou ponad okraje grafu je vidieť odpovedajúce šípky.
    Na zmenu rozmerov vrstiev je možné použiť aj koliesko na myši: držte stlačený Ctrl a kolieskom zmeňte výšku grafu, stlačený Alt a koliesko menia šírku grafu. Kombinácia Shift a koliesko mení naraz obidva rozmery.



    2.3.1. Tvorba panelu viacvrstvového grafu

    Je to najjednoduchší spôsob ako dostať viacvrstvový graf. Môže byť použitý ak chcete vytvoriť panel grafov s jednoduchým usporiadaním: 2 grafy v riadku alebo v stĺpci, alebo 4 grafy v 2 riadkoch a 2 stĺpcoch.
    Môžete vybrať dva stĺpce z tabuľky s hodnotami Y a použiť jeden z príkazov Panel commands v Plot menu. QtiPlot vytvorí panel grafov, v ktorých je veľkosť prvkov v každom grafe zosúladená.


    Grafy je možné prispôsobiť, ak chcete zmeniť usporiadanie panelu, môžete použiť príkaz Arrange Layers command z Graph menu. Je nutné pripomenúť, že v tomto prípade, že každý graf je vo vrstve, ktorá tvorí polovicu alebo štvrtinu plochy okna. Takže ak chcete zdieľať prvok medzi dvoma grafmi (napr. textové pole), potrebujete ho pridať ako novú vrstvu (pre viac informácií pozrite časť Add Text command).



    2.3.2. Vytvorenie viacvrstvového grafu krok za krokom

    Ak potrebujete vytvoriť komplexnejší viacvrstvový graf, môžete ho definovať krok za krokom.
    Prvým krokom je vytvorenie prvého grafu, napríklad z dvoch stĺpcov tabuľky. Dostaneme tak klasické okno grafu.


    Potom označíme okno s grafom a zvolíme príkaz Add Layer command z Graph menu. Aktivuje sa Add Layer dialog. Ak vyberiete "Guess", dostanete panel s dvoma stĺpcami, ak zvolíte "corner", získate dve superponované vrstvy (vrstvy na sebe), potom môžete meniť tieto dve vrstvy.


    Ak chcete vytvoriť panel s dvoma riadkami, použite príkaz Arrange Layers command na konvertovanie tohto panelu.


    Potom vyberte druhý prázdny graf a použite príkaz Add/Remove Curves... command na zvolenie hodnôt Y z tabuľky daného projektu.


    Potom môžte graf prispôsobovať. Nakoniec, keď sú dokončené všetky zmeny na osiach alebo na menovkách osí, môžete zmeniť geometriu dvoch grafov. Opäť je ich možné zosúladiť opätovným použitím príkazu Arrange Layers command.