MATLAB umožňuje snadnou vizualizaci dat. Jeho možnosti pro tvorbu dvourozměrných grafů jsou rozsáhlé - v této lekci si ukážeme část funkcí, které budeme používat při kreslení 2D grafů.
Při práci s 2D grafikou využíváme grafický režim MATLABu, který má svá vlastní grafická okna (Figure No.4, Figure No.12 apod.)
Postup:
Grafické funkce automaticky otevřou nové grafické okno, pokud zatím žádné neexistuje (Figure No. 1). V případě, že je již nějaké grafické okno otevřeno, je použito pro vykreslování to, které "je aktivní" (jedná se o poslední okno, které bylo otevřeno nebo na které bylo kliknuto). Chceme-li vykreslovat do úplně nového okna, přestože jiná již existují, nebo do vykreslovat do okna se zvoleným číslem, použijeme funkci figure s jedním nebo žádným parametrem:
figure - otevře úplně nové grafické okno a učiní jej aktivním:

figure(n) - učiní aktivním (event. jej i otevře) grafické okno s číslem n
Potřebujeme-li grafické okno zavřít, můžeme to provést pomocí myši (křížek v pravém horním rohu okna) nebo pomocí příkazu/funkce close:
close - zavře aktivní grafické okno
close(X) - zavře grafické okno s názvem Figure No.X (okno nemusí být aktivní)
close all - zavře všechna grafická okna (netýká se tedy ani okna M-editoru, ani okna Matlabu)
Funkce plot kreslí graf zadaný pomocí hodnot ve vektoru/vektorech. K tomu si otevře nové grafické okno (pokud žádné neexistovalo) nebo začne kreslit do aktivního okna.
Syntaxe:
plot(y) ... vykreslí hodnoty vektoru 'y' v zavislosti na jejich poradi
plot(x,y) ... vykreslí hodnoty vektoru 'y' v zavislosti na hodnotach vektoru 'x'
plot(x,y,str) ... vykreslí hodnoty vektoru 'y' v zavislosti na hodnotach vektoru 'x' a pomocí řetězce str ovlivní výsledný vzhled grafu: barvu značky a čáry, typ značky a typ čáry (viz níže)
Proměnná str obsahuje až tři hodnoty vlastností, v pořadí barva, typ značky a typ čáry. Implicitně je nastavena barva 'b' (modrá), značka žádná a plná čára. Hodnoty jednotlivých vlastností jsou v tabulce:
| Barva | Značka | Typ čáry | |||
| b | modrá | . | tečka | - | plná |
| g | zelená | o | kolečko | : | tečkovaná |
| r | červená | x | křížek | -. | čerchovaná |
| c | sv.modrá | + | křížek | -- | čárkovanaá |
| m | fialová | * | hvězdička | ||
| y | žlutá | s | čtverec | ||
| k | černá | d | diamant | ||
| v | trojúhelník nahoru | ||||
| ^ | trojúhelník dolů | ||||
| < | trojúhelník doleva | ||||
| > | trojúhelník doprava | ||||
| p | pentagram | ||||
| h | hexagram | ||||
Příklad - graf polynomu černou plnou čárou:
>> x=-1:0.01:1; plot(x,2*x.^3-.5*x.^2-x+1,'k')
a výsledek:
title(popisek) - přidání názvu grafu
xlabel(popisek) - přidání popisu osy x
ylabel(popisek) - přidání popisu osy y
V uvedených případech je popisek libovolný řetězec, který může obsahovat speciální znaky (viz níže).
Přidání textu do grafu: lze využít ikonu
v panelu nástrojů grafického okna nebo funkci
text(x,y,popisek), kde x a y jsou souřadnice bodu, kam je text umístěn.
Některé speciální znaky (podle TeXovské konvence)
| Znak | Zápis | Znak | Zápis | Znak | Zápis |
|---|---|---|---|---|---|
![]() | \alpha | ![]() | \beta | ![]() | \gamma |
![]() | \delta | ![]() | \epsilon | ![]() | \omega |
![]() | \lambda | ![]() | \xi | ![]() | \pi |
![]() | \rho | ![]() | \sigma | ![]() | \tau |
![]() | \sigma | ![]() | \Delta | ![]() | \Sigma |
![]() | \nabla | ![]() | \partial | ![]() | \infty |
![]() | \surd | ![]() | \int | ![]() | \neq |
![]() | \in | ![]() | \subset | ![]() | \subseteq |
![]() | \leq | ![]() | \geq | ![]() | \uparrow |
![]() | \wedge | ![]() | \vee | ![]() | \downarrow |
![]() | \leftrightarrow | ![]() | \leftarrow | ![]() | \rightarrow |
| ¬ | \neg | ![]() | \forall | ![]() | \exists |
Chceme-li přidat ke grafu legendu (popsat více grafů v jednom okně), použijeme funkci legend(text1,text2,...), jejímiž parametry jsou texty popisující všechny vykreslené grafy (v pořadí daném vykreslováním těchto grafů), např.:legend('graf1','graf2','graf3','graf4')
Více viz níže.
Pokud chceme vykreslovat více grafů do téhož (pod)okna, můžeme použít dva způsoby:
plot, které předáme jako parametry všechny vykreslované grafy (u každého může být také uvedena barva, značka a typ čáry):>> x=-pi:pi/25:pi; % nezavisle promenna
>> y1=sin(x); y2=cos(x); y3=sin(x).^2;% 3 funkce
>> plot(x,y1,'r',x,y2,'b',x,y3,'k') % tri v jednom (cerveny, modry a cerny graf)
>> plot(x,y1,'r',x,y2,x,y3,'k') % totez - modra barva se nemusi zadavat
>> xlabel('x') % popis osy x
>> title('Grafy 3 funkci') % nazev grafu
>> legend('sin(x)', 'cos(x)', 'sin^2(x)') % pridani legendy ke grafu
hold on, který "zapne" možnost přikreslovat do grafického okna jiné grafy, aniž by "zmizel" graf již nakreslený. Standardní stav (kdy se graf překresluje) pak docílíme příkazem hold off:>> x=-pi:pi/25:pi; % nezavisle promenna
>> y1=sin(x); y2=cos(x); y3=sin(x).^2;% 3 funkce
>> plot(x,y1,'r') % prvni graf (cerveny)
>> hold on % prikreslime neco dalsiho
>> plot(x,y2) % prvni graf (modry - netreba udavat barvu)
>> plot(x,y3,'k') % treti graf (cerny)
>> xlabel('x') % popis osy x
>> title('Grafy 3 funkci') % nazev grafu
>> legend('sin(x)', 'cos(x)', 'sin^2(x)') % pridani legendy ke grafu
>> hold off % uz nic prikreslovat nebudeme
Výsledek je v obou případech stejný:
Pro změnu rozsahu osy x (zkrácení nebo prodloužení) použijeme příkaz xlim(v), kde v je vektor obsahující minimální a maximální hodnotu na ose x.
Příklady:>> xlim([-5 2.3]) % 1. zpusob
>> osa_x=[-5 2.3]; xlim(osa_x) % 2. zpusob
Pro změnu rozsahu osy y (zkrácení nebo prodloužení) použijeme příkaz ylim(v), kde v je vektor obsahující minimální a maximální hodnotu na ose y.
Příklady:>> ylim([0.5 12.5])% 1. zpusob
>> osa_y=[0.5 12.5]; ylim(osa_y) % 2. zpusob
Pro změnu rozsahu obou os (x i y) lze použít příkaz axis(v), kde v je vektor obsahující minimální hodnotu na ose x, maximální hodnotu na ose x, minimální hodnotu na ose y a maximální hodnotu na ose y.
Příklady:>> axis([-5 2.3 0.5 12.5]) % 1. zpusob
>> rozsah=[-5 2.3 0.5 12.5]; axis(rozsah) % 2. zpusob
grid on - zobrazí mřížku
grid off - vypne zobrazení mřížky (implicitně nastaveno)
Pokud potřebujeme do jednoho grafického okna umístit více navzájem nezávislých grafů, použijeme funkci subplot, která vymezí konkrétní část grafického okna a aktivuje ji pro vykreslování:
subplot(m,n,c) - funkce si "představí" grafické okno jako matici mxn, očísluje si jednotlivé buňky (zleva doprava, odshora dolů) a aktivuje právě jednu - c-té podokno. Pokud je v jeho místě již jiné podokno, bude staré podokno odstraněno. Funkce subplot vytváří pouze JEDNO podokno, takže ji většinou musíme volat vícekrát:
>> x=0:pi/20:2*pi;
>> subplot(3,1,1); plot(x,sin(x),'k'), title('sin x')
>> subplot(3,1,2); plot(x,sin(x.^2),'k'), title('sin x^2')
>> subplot(3,1,3); plot(x,sin(x).^2,'k'), title('sin^2x')

Lze kombinovat podokna různé délky či šířky, pouze se nesmějí vzájemně překrývat:
>> x=-1:0.01:1;
>> subplot(2,2,1); plot(x,2*x.^2+1,'k'), title('2x^2+1')
>> subplot(2,4,3); plot(x,x.^3,'k'), title('x^3')
>> subplot(2,4,4); plot(x,x.^5,'k'), title('x^5')
>> subplot(2,1,2); plot(x,x.^2-0.25,'k'), title('x^2-0.25')

Každé grafické okno můžeme upravovat pomocí panelu nástrojů (není-li zobrazen, zaškrtneme Figure Toolbar v menu View):

![]() | otevře nové grafické okno |
![]() | otevře uložený graf (*.fig) |
![]() | uloží graf do souboru (*.fig) |
![]() | odešle graf na tiskárnu |
![]() | umožňuje měnit vlastnosti objektů v grafickém okně |
![]() | umožňuje přidat do grafu text |
![]() | umožňuje přidat do grafu šipky |
![]() | umožňuje přidat do grafu čáry |
![]() | lupa - zvětšení v místě kliknutí |
![]() | lupa - zmenšení v místě kliknutí |
![]() | rotace (efektní jen u 3D grafů) |
Export...
Obrázek
Ze souboru...
*.fig, který umí zobrazit MATLAB:
Save as... (nebo Save)
*.fig)
Open) - otevře se uložené grafické okno.