Parametry příkazů plot a splot

Datové soubory (datafiles)

Samostatná data obsažená v souboru lze zobrazit zadáním jména souboru (v jednoduchých nebo dvojitých uvozovkách) na příkazové řádce za příkazem plot.

Syntaxe:   plot "<jmeno_souboru> {index <index seznam >}   {every <every seznam>}

    {thru  <thru vyraz>}     {using <using seznam>}      {smooth <volba>}

Modifikátory index, every, thru, using a smooth se probírají odděleně. Krátce: index značí, které datové sady v souboru s více datovými sadami se mají vykreslit, every určuje, které body v jednoduchém datovém souboru se mají kreslit, using určuje, jak se mají sloupce s jednoduchám záznamem interpretovat (thru je speciální případ using) a smooth umožňuje jednoduchou interpolaci a aproximaci. (Příkaz splot má podobnou syntaxi, ale nepodporuje volby smooth a thru).

Data obsažená v datovém souboru se mohou zobrazit určením jména datového souboru (v uvozovkách) za příkazem plot nebo splot. Datové soubory by měly obsahovat jeden datový údaj na řádek. Řádky začínající na # (a také na ! ve VMS) budou považovány za komentáře a budou ignorovány. Pro plošné grafy každý datový bod představuje pár (x,y). Pro prostorové grafy každý datový bod představuje trojici (x,y,z). Pro grafy s chybovými čarami (viz chybové čáry - errorbars) každý datový bod znamená (x,y,ydelta) nebo (x,y,ylow,yhigh). Ve všech případech musí být čísla na každé řádce oddělena mezerami, pokud není formát zadán volbou using. Mezery rozdělují každou řádku na sloupce.
Hodnota x pro 2D grafy může být vynechána a pro 3D grafy lze vynechat hodnoty hodnoty x a y. V každém případě je vynechaným hodnotám přiřazena současná hodnota souřadnice. Čísla souřadnic začínají od nuly a zvětšují se s každým načteným datovým bodem. Data lze zadávat v exponenciálním formátu, kde exponentu předchází písmeno e, E, d, D, q nebo Q. Pro určení dalších formátů viz plot datafile using.

Musí být přítomen pouze jeden sloupec (hodnoty y). Pokud je x vynecháno, Gnuplot poskytuje celočíselné hodnoty začínající na 0.

Pokud je zapnuto automatické popisování os měřítkem (autoscaling), pak se osy automaticky prodlouží, aby obsáhly všechny datové body s plným počtem rysek (pokud se mají rysky zobrazovat). Toto má dva důsledky: 1) u prostorové křivky její roh nemusí souhlasit s rohem základny. V tomto případě se nekreslí žádná vertikální čára. 2) Při kreslení dat se stejným rozsahem na grafu s dvojitými osami souřadnice x nemusí souhlasit, pokud se rysky na osy x2 nekreslí. To protože osa x byla automaticky prodloužena do plného počtu rysek, ale osa x2 ne. Následující příklad tento problém ilustruje:

reset; plot '-', '-'

1  1

19  19

1  1

19  19

e

Prázdné záznamy v datových souborech (záznamy bez jiných znaků než mezer a skoku na nový řádek klávesou ENTER) jsou důležité: dvojice prázdných záznamů odděluje indexy (viz plot datafile index). Data oddělená dvojitým prázdným záznamem se chovají, jako by byla v samostatných datových souborech. Jednoduché prázdné záznamy vyznačují nespojitosti v grafu. Mezi předcházejícím a následujícím bodem se nebude nic kreslit, pokud je styl kreslení lines nebo linespoints (viz Styl kreslení). Toto nezmění styl kreslení, ale data se vykreslí jako oddělené křivky. 

Tento příklad srovnává data v souboru population.dat s teoretickou křivkou:
pop(x) = 103*exp((1965-x)/10)
plot [1960:1990] 'population.dat', pop(x)

Soubor population.dat by mohl obsahovat:
# Gnu populace v Antarktidě od roku 1965
1965 103
1970 55
1975 34
1980 24
1985 10
Když se kreslí datový soubor, tak je ignorováno vzorkování  určené příkazem samples a izočáry dané příkazem isosamples.  Křivky kreslené příkazem plot jsou automaticky prodlouženy tak, aby se dosáhlo úplné křivky. Podobně pole dat kreslené příkazem splot je automaticky prodlouženo s předpokladem, že isočáry jsou odděleny prázdými čarami.
Implicitně existují dva typy 3D datových souborů. Pokud všechny isočáry mají stejnou délku, předpokládá se, že je to datová mřížka, např. data mají mřížkovou topologii. Příčné isočáry v ostatních směrech (i-tá příčná isočára probíhá i-tým bodem všech kolmých isočar) budou také nakresleny do datové mřížky. (Poznámka: obrysování je možné pouze pro datové mřížky.) Pokud všechny isočáry nemají stejnou délku, pak se nenakreslí žádné příčné isočáry a obrysování nebude možné.
U příkazu splot mohou datové soubory obsahovat více než jedno oko sítě a v původním nastavení jsou kreslena všechna oka sítě. V souboru jsou oka navzájem oddělena dvojitou mezerou. Ke kontrole a vykreslení jednoho oka ze sítě s mnoha oky používejte měnič indexů. Viz splot index pro další informace.
Pokud kreslíte 3D datový soubor a používáte formát (viz splot datafile using), pak specifikujte pouze z (výška pole) a potom musíte specifikovat neparametrický mód. Na druhé straně, pokud jsou zadány všechna x, y, z, měl by být nastaven parametrický mód (viz set parametric), protože data určují prostor parametricky.
Příklad jednoduchého kreslení 3D datového souboru je
set parametric
splot 'glass.dat'
nebo
set noparametric

splot 'datafile.dat'
Kde datový soubor datafile.dat by mohl obsahovat:
# Údolí Gnu.
10
10
10

10
5
10

10
1
10

10
0
10
Poznámka: soubor datafile.dat definuje mřížku 4 na 3 (4 řady, každá 3 body). Řady jsou odděleny mezerami. Pro další informace o 3D grafech viz splot using.

Klíčová slova:

every

Klíčové slovo every umožňuje periodické vzorkování dat, která se mají kreslit. V diskusi je "bod" jeden údaj definovaný jednotlivým záznamem v souboru a "blok" zde znamená stejnou věc jako "datablok" (viz slovník).

Syntaxe:

plot 'soubor' every {<point_incr>} {:{<block_incr>} {:{<start_point>} {:{<start_block>} {:{<end_point>} {:<end_block>}}}}}

Vykreslované datové body se vybírají podle smyčky od <start_point> do <end_point> s přírůstkem <point_incr> a bloky podle smyčky od <start_block> do <end_block> s přírůstkem  <block_incr>.

První údaj v každém bloku je číslovaný "0", protože je to první blok v souboru. Všimněte si, že se počítají i záznamy obsahující nekreslitelné informace. Kterékoli číslo lze vynechat. Přírůstky jsou standardní k jednotě, počáteční hodnoty k prvnímu bodu nebo bloku a poslední hodnoty k poslednímu bodu nebo bloku. Pokud every není zadán, kreslí se všechny body ve všech řadách.

Příklady:

every :::3::3 # vybere pouze čtvrtý blok ("0" je první)

every :::::9 # vybere prvních 10 bloků

every 2:2 # vybere každý druhý bod v každém druhém bloku

every ::5::15 #  vybere body 5 až 15 v každém bloku

index

Klíčové slovo index umožňuje vykreslení pouze některých řad dat z datového souboru s více datovými řadami.

Syntaxe: plot 'soubor' index <m> {{:<n>}:<p>}

Datové řady jsou odděleny párem prázdných záznamů. index <m> vybere pouze řadu <m>; index <m>:<n> vybere řady v rozsahu <m> do <n> a index <m>:<n>:<p> vybere řady <m>, <m>+<p>, <m>+2<p>, atd., ale skončí u <n>. Index 0 je přiřazen první datové řadě v souboru. Zadání příliš velkého indexu způsobí chybové hlášení. Pokud není index zadán, pak se všechny řady vykreslují jako jedna řada.

Příklad: plot 'soubor' index 4:5

splot with indices demo

smooth (jemný)

Gnuplot obsahuje několik všeobecných postupů pro interpolaci a aproximaci dat a tyto jsou seskupeny pod volbou smooth. Složitější zpracování dat lze provádět předzpracováním dat externě nebo pomocí příkazu fit s vhodným modelem.

Syntaxe: smooth {unique | csplines | acsplines | bezier | sbezier}

Unique kreslí data až poté, co je udělá monotónní. Každý další postup používá data k výpočtu koeficientů spojité křivky mezi konci dat. Tato křivka se poté kreslí stejným způsobem jako funkce, tedy nalezením jejích hodnot na jednotných intervalech podél úsečky (viz set samples) a spojením těchto bodů přímými segmenty čáry (pokud je zvolen styl čára-line).

Pokud je zapnuto automatické vytváření stupnice, budou rozsahy spočítány tak, aby kreslená křivka ležela mezi hnanicemi grafu. 

Pokud je k dispozici příliš málo bodů, je generováno chybové hlášení. Minimální počet je jeden pro unique, čtyři pro acsplines a tři pro ostatní metody. Volba smooth nemá vliv na grafy funkcí.

1) acsplines

Volba acsplines aproximuje data "přirozenou jemnou spline-křivkou". Poté, co jsou data zmonotónizována na ose x (viz smooth unique), křivka je po částech sestavena ze segmentů kubických polynomů, jejichž koeficienty jsou nalezeny vážením datových bodů, kde váhy se získají z třetího sloupce datového souboru. Toto původní nastavení lze změnit třetím záznamem v seznamu using, např.

plot 'datový soubor' using 1:2:(1.0) smooth acsplines

Absolutní hodnota vah určuje počet segmentů použitých k sestavení křivky. Pokud jsou váhy velké, pak je efekt každého datového bodu velký a křivka se blíží tvaru vytvořeného spojením po sobě jdoucích bodů přirozenými kubickými spline-křivkami. Pokud jsou váhy malé, křivka se skládá z méně segmentů a proto je jemnější. Limitní případ je jeden segment vytvořený váženou aproximací metodou nejmenších čtverců, aby konvergoval pro všechny datové body. Váha vyhlazování může být vyjádřena podmínkou odchylek jako statistických vah pro bod dělený "vyhlazovacím faktorem" pro křivku, takže (standardní) odchylka v souboru může být použita jako vyhlazovací váha.

Příklad:

sw (x,S) = 1/(x*x*S)

plot "datový soubor" using 1:2:(sw($3,100)) smooth acsplines

2) bezier

Možnost bezier aproximuje data Bazierovou křivkou stupně n (počet datových bodů), které spojují konečné body.

3) csplines

Varianta csplines spojuje po sobě jdoucí body přirozenými kubickými spline-křivkami po vyhlazení dat převedením na monotónní (viz smooth unique).

4) sbezier

Varianta sbezier nejdříve vyhladí data (unique) a potom aplikuje algoritmus bezier.

5) unique

Varianta unique vyhladí data v x, body se stejnou hodnotou x se nahradí jedním bodem, který má průměrnou hodnotu y. Výsledné body se potom spojí úsečkami. Viz demos.

Speciální jména souborů

Speciální název souboru '-' oznamuje, že data jsou v řadě, např že následují za příkazem. Za příkazem následují pouze data, volby příkazu plot jako např. filtry, popisy a styly čar zůstávají na příkazové řádce příkazu plot. Je to podobné k << ve skriptu unixu a $DECK ve VMS DCL. Data jsou vkládána jako by byla čtena ze souboru, tedy jeden datový bod na jeden záznam. Písmeno "e" na začátku prvního sloupce ukončuje datový vstup. Volba using může být aplikována na tato data - filtrování je přes funkci by mohlo mít smysl, ale vybírání sloupců pravděpodobně ne!

'-' je vhodné pro situace, kde je užitečné mít data a příkazy pohromadě, např. když se Gnuplot spouští jako podproces nějaké přední aplikace. Některá dema mohou např. tuto možnost používat. Když se poznají možnosti příkazu plot, jako např. index a every, jejich použití vás nutí vkládat data, která nebudou použita. Například, zatímco

plot '-' index 0, '-' index 1

2

4

6

 

10

12

14

e

2

4

6

 

10

12

14

e

skutečně nefunguje, pak je mnohem snažší napsat:

plot '-', '-'

2

4

6

e

10

12

14

e

Pokud používáte '-' s příkazem replot, možná budete muset vložit data víckrát než jen jednou (viz replot).

Žádné jméno souboru ('') znamená, že by mělo být znovu použito předcházející jméno souboru. Toto může být užitečné v případů jako např. 

plot 'a/very/long/filename' using 1:2, '' using 1:3, '' using 1:4

(Pokud používáte zároveň '-' a '' ve stejném příkazu plot, musíte mít dvě sady dat v řadě jako v příkladu výše popsaném.)

Na některých počítačích s funkcí popen (Unix) lze datový soubor protáhnout příkazem, který tvoří plášť tím, že název souboru bude začínat na '<'. Například,

pop(x) = 103*exp(-x/10)

plot "< awk '{print $1-1965, $2}' population.dat", pop(x)

vykreslí stejné informace jako první příklad s populací, ale s lety od 1965 na ose x. Pokud chcete tento příklad vykonat, musíte smazat ze souboru všechny komentáře nebo nahradit následující příkaz pro první část výše popsaného příkazu (část až ke čárce):

plot "< awk '$0 !~ /^#/ {print $1-1965, $2}'  population.dat"

Protože tento přístup je pružnější, je možné dosáhnout jednoduchého filtrování klíčovými slovy using nebo thru.

thru

Funkce thru zaručuje zpětnou kompatibilitu.

Syntaxe: plot 'soubor' thru f(x)

To je ekvivalentní k: plot 'soubor' using 1:(f($2)) 

Protože druhá možnost je komplexnější, je táké pružnější. Více přirozené

plot 'soubor' thru f(y)  také funguje (např. můžete y použít jako tzv. dummy proměnnou). Thru se analyzuje i pro splot a fit, ale nemá žádný efekt.     

using

Nejběžnější modifikátor datových souborů je using.

Syntaxe: plot 'soubor' using {<vstup> {:<vstup> {:<vstup> ...}}} { 'format' }

Pokud je zadán formát , pak každý záznam v datovém souboru je přečten pomocí funkce "scanf" z knihovny jazyka C se zadaným řetězcem formátu. Jinak je záznam přečten a rozdělen do sloupců po mezerách nebo tabelátorech. Formát nelze zadat, pokud se používají data v časovém formátu (to se musí udělat pomocí set data time).

Výsledné pole dat se pak řadí do sloupců podle vstupů. Každý <vstup> může být jednoduché číslo sloupce, které určuje datový záznam, výraz vložený do závorek nebo prázdný. Výraz může používat $1 k přístupu čtení první položky, $2 pro druhou položku, atd. Také lze použít column(x) a valid(x), kde x je libovolný výraz ústící v celé číslo. Column(x) vrátí datový údaj ze sloupce x, valid(x) testuje, zda datový údaj v x-tém sloupci je platné číslo. Číslo sloupce 0 generuje rostoucí čísla (od nuly) po jednom bodě a je resetováno po dosažení dvou prázdných záznamů. Číslo sloupce -1 dává číslo datové řádky, která začíná na 0, vzrůstá po jednoduchých prázdných záznamech a je resetováno po dosažení dvojitého prázdného záznamu. Číslo sloupce -2 dává číslo indexu, které se zvyšuje pouze, když jsou nalezeny dva prázdné záznamy. Prázdný <vstup> bude standartní k jeho pořádku v seznamu záznamů. Například, using ::4 je přeloženo jako using 1:2:4.

Příkaz call také používá znak $ (dolar) jako speciální znak. Viz call pro detaily, jak vložit číslo sloupce do seznamu argumentů příkazu call.

Pokud seznam using má ale jednoduchý vstup, tento <vstup> bude použit pro y a číslo datového bodu por x, například "plot 'soubor' using 1" je identické s "plot 'soubor' using 0:1". Pokud seznam using má dva vstupy, tyto budou použity pro x a y. Další vstupy jsou obvykle odchylky v x a/nebo y. Viz set style pro detaily o kreslících stylech, které používají informaci o odchylkách a fit pro informaci o odchylkách při apraximaci křivek. 

Funkce "scanf" přijímá různé numerické zadání, ale Gnuplot požaduje, aby všechny vstupy byly proměnné s pohyblivou čárkou s dvojitou přesností, takže je pouze jeden dovolený specifikátor If. "Scanf" očekává dvojitou mezeru --- prázdnou, tabelátor ("\t"), nový řádek ("\n") nebo posun vpřed ("\f") --- mezi čísly. Cokoli jiné ve vstupním proudu musí být explicitně přeskočeno. Všimněte si, že použití "\t", "\n" nebo "\f" vyžaduje dvojité uvozovky raději než jednoduché.

Příklady: plot 'soubor' using 1:($2+$3) '%lf,%lf,%lf'

Tohle vytvoří součtový graf z druhých a třetích dat proti prvním: (Pro formátovací řetězec je lepší oddělovat sloupce čárkou než mezerou).

V tomto případě jsou data čtena ze souboru "MojeData" použitím komplikovanějšího formátu:

plot 'MojeData' using "%lf%lf%*20[^\n]%lf"

Význam tohoto formátu je následující:

%*lf     ignorovat číslo

%lf       číst číslo s dvojnásobnou přesností (původně x)

%*20[^\n]  ignorovat 20 znaků, které nejsou na novém řádku

%lf      číst číslo s dvojnásobnou přesností (původně y)

Existuje trik s užitím trojného oprátoru ?: pro filtrování dat:

plot 'soubor' using 1:($3>10 ? $2 : 1/0)

který vykreslí datový bod ve sloupci dvě ačkoli údaj v prvním sloupci  poskytující údaj ve třetím sloupci překračuje deset. 1/0 znamená nedefinováno: Gnuplot tiše ignoruje nedefinované body, takže nevhodné body jsou potlačeny.

Ve skutečnosti můžete použít konstantní výraz pro číslo sloupce za předpokladu, že nezačíná otevírací závorkou, tedy mohou být užity konstrukce jako např. using 0+(komplikovaný výraz). Kritický bod je, že výraz je vyhodnocen pouze jednou, pokud nezačíná levou závorkou nebo jednou pro každý  přečtený datový bod.

Pokud se používají časové série, tak může čas překlenovat více sloupců. Měl by být určen počáteční sloupec. Všimněte si, že mezery v čase musí být počítány při výpočtu počátečních sloupců pro další data. Např. pokud první prvek na řádce je čas s vloženou mezerou, pak by měla být hodnota y vložena v třetím sloupci.

Mělo by být poznamenáno, že v plot 'soubor', plot 'soubor' using 1:2 a plot 'soubor' using ($1):($2) může být trochu rozdíl: 1) pokud soubor má některé řádky s jedním sloupcem a některé se dvěma, první vymyslí hodnoty x (pokud chybí), druhý bude tiše ignorovat řádky s jedním sloupcem a třetí možnost bude udržovat v paměti nedefinovanou hodnotu pro řádky s jedním bodem (takže v grafu s čarami kolem špatného bodu se nebude připojovat žádná čára), 2) pokud řádka odsahuje text v prvním sloupci, první alternativa způsobí chybu grafu, ale druhá a třetí by měla chybu přeskočit.

Ve skutečnosti je často možné kreslit soubor s mnoha řádkami "odpadu" na začátku jedoduše zadáním                      plot 'soubor' using 1:2

Ačkoli pokud chcete mít text ve vašem datovém souboru, je bezpečnější  na první sloupec řádky s textem vložit znak komentáře (#).

Chybové čáry (errorbars)

V datových souborech pro 2D plochy lze používat chybové čáry přidáním jednoho až čtyř sloupců, které určují zvlášť ydelta nebo yspodní a yhorní. Nelze používat chybové čáry pro x a žádné pro splot.

Data lze zadávat v tomto formátu:

(x, y, ydelta),

(x, y, yspodní, yhorní),

(x, y, xdelta),

(x, y, xspodní, xhorní)

Podle původního nastavení Gnuplot očekává na každé řádce tři nebo čtyři čísla buď (x,y,ydelta) nebo (x,y,yspodní, yhorní). Souřadnice x musí být zadána. Pořadí čísel musí být přesně jak je uvedeno výše. Datové soubory v tomto formátu lze snadno vykreslit chybovými čarami:

plot "data.dat" with errorbars

Chybová čára je svislá čára kreslená od (x,yspodní) do (x,yhorní). Pokud je místo yspodní a yhorní zadáno ydelta, je proveden výpočet yspodní = y - ydelta a yhorní = y + ydelta. Pokud jsou na řádce jen dvě čísla, pak se hodnoty yspodní a yhorní obě nastaví na y. Abyste dostali nakreslené čáry mezi datovými body, vykreslete datový soubor dvakrát, jednou pomocí chybových čar a jednou pomocí obyčejných čar.

Pokud je zapnuto y autoscaling, pak budou hodnoty y upraveny tak, aby odpovídaly chybovým čarám.

Volbu using lze použít k určení, jak budou sloupce datového soubou přiřazeny hodnotám x,y,ydelta, yspodní a yhorní. Sloupec x nesmí chybět a také oba sloupce x, y musí být před sloupci pro chybové čáry. Pokud jsou zadány tři sloupce čísel, pak jsou to x, y, ydelta. Poku jsou sloupce čtyři, pak znamenají x, y, yspodní a yhorní.

Příklady:

plot "data.dat" using 1:2:3:4 with errorbars 

plot "data.dat" using 3:2:6 with errorbars

plot "data.dat" using 3:4:8:7 with errorbars

První příklad se čte : x, y, yspodní a yhorní. To souhlasí s původním nastavením. Druhý příklad čte x z třetího sloupce, y z druhého a ydelta z šestého. Třetí příklad čte x z třetího sloupce, y ze čtvrtého sloupce, yspodní z osmého a yhorní ze sedmého sloupce.

Viz též plot using a plot style.

Styl (style)

Grafy lze zobrazit v jednom z osmi stylů: čáry (lines), body (points), body a čáry (linespoints), impulzy (impulses), tečky (dots), chybové čáry (errorbars), kroky (steps), boxy (boxes) nebo boxy a chybové čáry (boxerrorbars). Styl čáry spojuje přilehlé body s čarami. Styl body zobrazuje v každém bodě malý znak. Styl čáry a body kreslí zároveň čáry a body. Styl impulzy zobrazuje svislou čáru od osy x (nebo od základní roviny u 3D ploch) ke každému bodu. Styl tečky kreslí v každém bodě nepatrnou tečku. To je vhodné pro rozptýlené grafy s mnoha body.

Styl chybové čáry je platný pouze pro 2D grafy. Další styl boxy a chybové čáry je dostupný a platný pouze pro kreslení 2D datových souborů. Tento styl je kombinací stylů boxy a chybové čáry. Styl boxy kreslí krychli se středem v daných souřadnicích (x,y). Šířka krychle se určí jedním ze tří způsobů. První možnost, pokud má datový soubor pátý sloupec, pak tento sloupec určuje šířku krychle. V tomto případě jsou sloupce 3 a 4 (pro boxy a chybové čáry) nezbytné, ale jsou ignorovány. Druhá možnost je určit šířku krychle příkazem set boxwidth. Jinak bude šířka každé krychle vypočítána automaticky aby se dotkla sousední krychle.

Styl kroky je platný pouze pro 2D grafy. Tento styl spojuje příslušné body dvěma částmi čáry: první od (x1,y1) k (x2,y1) a druhý od (x2,y1) k (x2,y2).

Předem nastavené styly jsou určeny příkazy set function style a set data style.

Původně každá funkce a datový soubor budou používat rozdílný styl čáry a bodu až do maximálního počtu dostupných stylů. Všechny ovladače výstupních zařízení podporují minimálně šest různých typů bodu a používají stejné typy pokud je pořadováno více než šest grafů.

V případě potřeby lze určit styl a volitelně také typ čáry a bodu použitý pro křivku.

Syntaxe: with [styl] {[typ čáry] {[typ bodu]}}

kde [styl] je buď lines, points, linespoints, impulses, dots, steps nebo errorbars. [Typ čáry] a [typ bodu] je kladná proměnná nebo konstanta určující typ bodu a typ čáry použitý pro kresbu. Typ čáry 1 je první typ čáry původně používaný, typ 2 je druhý původně používaný typ, atd.

Příklady:

Toto nakreslí sin(x) pomocí impulzů: plot sin(x) with impulses

Toto nakreslí x*y pomocí bodů, x**2 + y**2 s původním nastavením: plot x*y w points, x**2 +y**2

Toto nakreslí "leastsq.dat" pomocí impulzů: plot "leastsq.dat" w i

Toto kreslí datový soubor "population" pomocí boxů: plot "population" with boxes

Toto kreslí "exper.dat" pomocí chybových čar a čar spojujících body: plot "exper.dat" w lines, "exper.dat" w errorbars. Zde by mět soubor "exper.dat" mít tři nebo čtyři sloupce s daty.

Toto kreslí sin(x) a cos(x) pomocí bodů a čar se stejným typem čáry, ale jiným typem bodu: plot sin(x) with linesp 1 3, cos (x) with linesp 1 4

Toto kreslí soubor "data" pomocí bodů stylu 3: plot "data" with points 1 3

Poznámka: Styl čáry musí být zadán, pokud zadáváme styl budu, dokonce když je to irelevantní. Zde styl čáry je 1 a styl bodu je 3, ale styl čáry je irelevantní. Viz set style pro změnu původních stylů.

Nadpis (title)

V klíči se objevuje nadpis každého grafu. Původně je nadpisem jméno funkce nebo souboru jak je dáno na příkazové řádce. Nadpis lze změnit volbou title. Tato volba by měla předcházet každé volbě with.

Syntaxe:  title "<nadpis>" | notitle

kde <nadpis> je nový nadpis ke grafu. Musí být uzavřen v uvozovkách. Uvozovky nebudou v klíči zobrazeny.

Příklady: toto nakreslí y=x s nadpisem "x":

  plot x

Toto nakreslí soubor "glass.dat" s napisem "Revoluční povrch":

  splot "glass.dat" title "Revoluční povrch"

Toto nakreslí funkci čtverec x s nadpisem "x^2" a soubor "data1" s nadpisem "změřená data":  

plot x**2 title "x^2" , "data1" t "změřená data".

Nadpis může být vynechán z klíče volbou "notitle" pro plot a splot. To je vhodné pokud se některé křivky kreslí pouze pro dekoraci, např. když chceme kruhový okraj polárního grafu.

Příklad: set polar

            plot my_function(x), 1 notitle To generuje vstup klíče pro "my_function" ale ne pro "1". Viz demosoubor poldat.dem jako příklad.

Parametrické zadání křivky (parametric)

Při práci v parametrickém módu (set parametric) musíme zadávat matematické výrazy v párech pro plot a v trojicích pro splot:

plot sin(t), t**2 nebo

splot cos(u)*cos(v), cos(u)*sin(v), sin(u)

Datové soubory jsou kresleny jak popsáno výše, kromě toho jakákoli předcházející parametrická funkce musí být plně určena předtím, než je datový soubor vykreslen. Na druhé straně, parametrická funkce x (sin(t) v příkladu) a parametrická fce y (t**2 v příkladu) nesmí být přerušena jakoukoli změnou nebo funkcí dat. V opačném případě dojde k skladebné chybě, která ohlásí, že parametrická funkce není plně určena.

Řady mají v parametrickém modu různý význam. První řada za příkazem plot je: viz trange, xrange, vrange. U příkazu splot viz urange, vrange, xrange,yrange a zrange. Následující příkaz plot ukazuje nastavení trange na (-pi:pi), xrange na (-1,3:1,3) a yrange na (-1:1) pro průběh kresby:

plot [-pi:pi] [-1.3:1.3] [-1:1] sin (t), t**2

Ostatní změny, jako with a title lze zadat pouze až po kompletním parametrickém zadání funkce:

plot sin(t), t**2 title "Parametrický příklad" with linespoints

Rozsahy (ranges)

Volba rozsahy určuje oblast grafu, která bude zobrazena. Rozsahy lze určit na řádce za příkazy plot a splot nebo pomocí příkazů set xrange, set yrange apod. Tímto změníte původní rozsahy pro další grafy.

Syntaxe:  [{<dummy-var>=} {{<xmin>}:{<xmax>}}] { [{<ymin>}:{<ymax>}}] } kde <dummy-var> je nezávisle proměnná (původní jsou x a y, ale to lze změnit pomocí set dummy) a výrazy min a max mohou být konstanty. Oba výrazy min a max jsou volitelné. Znak ":" je nepovinný, pokud není zadáno ani min ani max. To umožňuje "[]" používat jako určení nulového rozsahu.

Určení rozsahu v příkazu plot na řádce vypíná funkci autoscaling pro tu konkrétní osu. Použití jednoho z příkazů set rozsahy vypíná funkci autoscaling pro  určenou osu ve všech budoucích grafech dokud se to znovu nezmění. Viz set autoscale.

Příklady: Toto používá dané rozsahy: plot cos(x)

Toto nastavuje rozsah pouze pro x: plot [-10:30] sin(pi*t)/(pi*t)

Toto je shodné, ale používá t jako proměnnou dummy: plot [t = -10:30] sin (pi*t)/(pi*t)

Toto nastavuje oba rozsahy x a y: plot [-pi:pi] [-3:3] tan (x), 1/x

Toto určuje pouze rozsah y a vypíná autoscaling na obou osách: plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)

Toto nastavuje pouze xmax a ymin: plot [:200] [-pi:] exp(sin(x))

Toto nastavuje rozsah x, y a z: splot [0:3] [1:4] [-1:1] x*y

Popis (index)

Kreslení 3D grafů datových souborů s mnoha oky lze kontrolovat modifikátorem indexů. Datový soubor může obsahovat více než jednu síť a v tomto případě všechny sítě v souboru budou kresleny v původním nastavení. Sítě jsou v datovém souboru odděleny jedna od druhé dvěma prázdnými řádkami. Pro vykreslení jedné sítě ze souboru o mnoha sítích používejte různé indexy, které určí, která síť se má nakreslit. První síť má číslo 0.

Příklad:  splot "data1" index 2 with points nakreslí třetí síť v souboru data1 pomocí bodů.

With

Funkce a data mohou být zobrazena v jednom z mnoha stylů. Klíčové slovo with poskytuje možnost výběru ze stylů.

Syntaxe:

with <styl> {{ linestyle | ls <line_style>} | {{ linetype | lt <line_type>} {linewidth | lw <line_width>} {pointtype | pt <point_type>} {pointsize | ps <point_size>}} }

kde <styl> je buď lines, points, linespoints, impulses, dots, steps, fsteps, histeps, errorbars, xerrorbars, yerrorbars, xyerrorbars, boxes, boxerrorbars, boxxyerrorbars, financebars, candlesticks nebo vector. Některé z těchto stylů vyžadují další informace. Viz set style <style> pro detaily o každém stylu.

Původní styly se volí pomocí příkazů set function style a set data style.

Podle původního nastavení každá funkce a datový soubor použije jiný typ čáry a typ bodu až do maximálního počtu dostupných čar. Všechny terminálové ovladače podporují minimálně šest různých typů čar a používají je znovu podle pořadí, je-li požadováno více čar. Ovladač LaTeX podporuje dalších šest typů čar (všechny varianty kruhu) a tedy se bude opakovat pouze po vykreslení 12 křivek pomocí bodů. Ovladače PostScript podporují celkem 64 stylů.

Pokud si přejete změnit typ čáry nebo bodu pro jednoduchý graf, můžete zadat <line_type> a <point_type>. Toto jsou kladné celočíselné konstanty  (nebo výrazy), které určují typ čáry a bodu použitý v grafu. Používejte test pro zobrazení dostupných typů na vašem terminálu.