Speciální grafy

Histogram

Sloupcový diagram neboli histogram se používá ke znázornění četností dat v matematické statistice. Hodnoty znaku jsou sdruženy do intervalů x. Tyto intervaly tvoří základny sloupků, odpovídající četnosti pak udávají jejich výšky.

Syntaxe: histplot(x, data,< opt_args>)
kde x udává počet intervalů, data je soubor (matice)dat, například celých čísel. Položka opt_args jsou volitelné parametry a jejich zápis je stejný jako u funkce plot2d.

Příklad: vygenerujeme 100 celých čísel v intervalu od 0 do 100 a určíme jejich četnost pomocí grafu. Vygenerovanou matici čísel můžeme pro názornost a přehlednost seřadit sestupně příkazem sort.

Příklad 5.4.3.A - histogram
 d=int(rand(10,10)*101)	// vygenerujeme data
 histplot(20,d)
 // vygenerované hodnoty mohou být třeba takové: 
 d  =

    10.    36.    82.    99.    5.     69.    80.     82.    5.     37.
    42.    19.    71.    99.    57.    70.    17.     31.    71.    64.
    7.     74.    47.    83.    83.    10.    87.     0.     15.    33.
    39.    51.    58.    72.    27.    89.    52.     59.    39.    32.
    91.    45.    92.    59.    14.    43.    18.     20.    53.    18.
    27.    74.    53.    94.    25.    17.    25.     54.    36.    89.
    32.    11.    34.    99.    44.    8.     33.     54.    33.    86.
    63.    43.    1.     44.    51.    2.     60.     97.    31.    57.
    29.    49.    9.     7.     15.    75.    100.    21.    33.    80.
    4.     15.    22.    94.    3.     73.    13.     96.    10.    78. 

 s=sort(d)	// seřadíme hodnoty
s  =

    100.    89.    78.    64.    53.    43.    33.    25.    15.    8.
    99.     89.    75.    63.    53.    43.    33.    25.    15.    7.
    99.     87.    74.    60.    52.    42.    33.    22.    15.    7.
    99.     86.    74.    59.    51.    39.    32.    21.    14.    5.
    97.     83.    73.    59.    51.    39.    32.    20.    13.    5.
    96.     83.    72.    58.    49.    37.    31.    19.    11.    4.
    94.     82.    71.    57.    47.    36.    31.    18.    10.    3.
    94.     82.    71.    57.    45.    36.    29.    18.    10.    2.
    92.     80.    70.    54.    44.    34.    27.    17.    10.    1.
    91.     80.    69.    54.    44.    33.    27.    17.    9.     0.

 histplot(10,d)
Výsledný graf s doplněním barev potom vypadá takto:



Tento graf je v normalizovaném tvaru. Pokud nechceme normalizovaný graf, stačí do parametrů grafu zapsat normalize = %f (false). Default hodnota je nastavená na %t (true).

Příklad 5.4.3.B - normalizovaný histogram
 histplot(10,d, normalization = %f) 
Nenormalizovaný graf:





Koláčový graf

Syntaxe: pie(x)
pie(x, [sp], [txt] )
kde x je vektor se vstupními daty. Sp a txt je volitelná položka. Sp umožňuje vyřezání a posunutí jednoho nebo více klínů z grafu směrem od středu. Zapisuje se v podobě vektoru nul(neposunutý) a jedniček(posunutý), který musí mít stejnou velikost jako vstupní data. Txt je vektor taky o stejné velikosti jako vstupní data a dovoluje napsat text pro každou položku grafu. Pro ukázku použijeme data z předchozího příkladu a do koláčového grafu zobrazíme četnosti.

Příklad 5.4.3.C - koláčový graf
 pie([14 12 7 14 8 13 4 10 8 10])


Popisek jednotlivých dílků se automaticky vytvoří v procentech. Vlastní popisek dílků můžeme zapsat přímo do příkazového řádku v položce txt, nebo pomocí grafického editoru (GED). Navíc některé dílky můžeme posunout ven (například dílky s největší četností).
Popisky dílků uděláme pomocí grafického editoru, kde máme i možnost popisek vycentrovat (text box mode).

Příklad 5.4.3.D - upravený koláčový graf
 x = [14 12 7 14 8 13 4 10 8 10];
 sp = [1 0 0 1 0 0 0 0 0 0];
 pie(x,sp)




Vrstevnicový graf

Vrstevnicové grafy vykreslí hladiny křivky povrchu z=f(x,y) do 2D grafu.
Syntaxe: contour2d(x, y, z, nz,< opt_args>)

Hodnoty f(x,y) jsou dány maticí z v mřížce bodů definovaných pomocí vektorů x a y. Nz vyjadřuje počet hladin (vrstevnic). Téměř stejná je i funkce contourf, která jednotlivé plochy barevně vyplní.

V prvním příkladu si vykreslíme do vrstevnicového grafu plochu z = cos(x)*sin(x). Nejprve obrázek této plochy ve 3D zobrazení:



A ve vrstevnicích:

Příklad 5.4.3.E - vrstevnicový graf
 f=gcf();
 f.color_map=jetcolormap(20);
 x = -2*%pi : 0.1 : 2*%pi;
 z = cos(x')*sin(x);
 contour2d(x,x,z,20); 


Vrstevnicový graf vyplněný:

Příklad 5.4.3.F - vrstevnicový graf vyplněný
 f=gcf();
 f.color_map=jetcolormap(20);
 x = -2*%pi : 0.1 : 2*%pi;
 z = cos(x')*sin(x);
 contourf(x,x,z,20); 




V druhém příkladu definujme jednoduchou plochu z = x*y, která vypadá takto:



Její vrstevnicový graf:

Příklad 5.4.3.G - vrstevnicový graf plochy z = x*y
 f=gcf();
 f.color_map=hsvcolormap(30);
 x = 1:10; y = 1:10;
 z = x'*y;
 contour2d(x,y,z,30); // pro vyplnění můžeme použít příkaz contourf(x,y,z,30)