22.07.2013 Views

Návod na „hezké grafy“ z Matlabu Příklad

Návod na „hezké grafy“ z Matlabu Příklad

Návod na „hezké grafy“ z Matlabu Příklad

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Návod</strong> <strong>na</strong> <strong>„hezké</strong> <strong>grafy“</strong> z <strong>Matlabu</strong><br />

Ondřej Malík (malik.ondrej@fel.cvut.cz)<br />

Základním požadavkem <strong>na</strong> každý graf je to, aby co nejlépe zobrazoval data, která chcete<br />

prezentovat, tedy aby měl co největší vypovídací hodnotu. Nikdy proto nezapomeňte <strong>na</strong><br />

následující náležitosti:<br />

popisky os, jednotky veličin,<br />

<strong>na</strong>dpis grafu, který stručně vystihuje to, co graf zobrazuje,<br />

legendu, nebo jiný vhodný způsob oz<strong>na</strong>čení dat.<br />

Pro dobrou čitelnost grafu ve výsledném dokumentu je dále zapotřebí:<br />

použít vhodnou velikost písma,<br />

použít vhodné tloušťky čar (vzhledem k účelu dokumentu – do tištěného dokumentu<br />

stačí tenčí, do prezentace <strong>na</strong>opak silnější),<br />

většinou k lepší orientaci přispěje i zobrazení mřížky, záleží ale <strong>na</strong> konkrétním grafu,<br />

pro tisk, ale i pro export do PDF, je vždy nejlepší grafy vkládat ve vektorovém<br />

formátu – graf je potom kvalitně vytištěn i při zvětšení <strong>na</strong> větší formát, než se kterým<br />

jste původně počítali, v PDF lze téměř libovolně zvětšovat bez větší ztráty kvality<br />

apod.<br />

V <strong>Matlabu</strong> k dosažení výše uvedených náležitostí pomohou zejmé<strong>na</strong>:<br />

příkazy xlabel, ylabel, title, legend, grid,<br />

u každé figure pak volba Edit/Axes Properties pro <strong>na</strong>stavení rozsahu os,<br />

u každé figure volba File/Export Setup pro <strong>na</strong>stavení exportu grafu ve vektorovém<br />

formátu.<br />

<strong>Příklad</strong><br />

Na jednoduchém příkladu ukážeme jak takový graf vytvořit. Následujícími příkazy<br />

vykreslíme do jednoho grafu funkce sin(t) a sin(2t) v rozsahu (0;4:<br />

t = 0:0.01:4*pi;<br />

plot(t,sin(t),'b'); % Vykreslime modre funkci sin(t)<br />

hold on;<br />

plot(t,sin(2*t),'r'); % Vykreslime cervene funkci sin(2t)<br />

Přidáme popisky os, legendu (budeme předpokládat, že veliči<strong>na</strong> v grafu je <strong>na</strong>příklad <strong>na</strong>pětí),<br />

název grafu, mřízku. V <strong>na</strong>dpisu je uvede<strong>na</strong> ukázka zápisu speciálních z<strong>na</strong>ků (symboly, horní,<br />

dolní indexy) pomocí LaTeXové notace, kterou Matlab podporuje:<br />

title('Ukázkový graf - funkce sinus (Ukázka zápisu speciálních z<strong>na</strong>ků<br />

LaTeXovou notací: \Deltax_{1}^{2a})');<br />

xlabel('Čas [s]');<br />

ylabel('Napětí [V]');<br />

legend('sin(t)','sin(2t)');<br />

grid on;<br />

Pokud bychom takový obrázek chtěli vložit pomocí print screen, dostaneme výsledek jako <strong>na</strong><br />

obr. 1. Šedé pozadí ale není pěkné, <strong>na</strong>víc Matlab nezvolil nejšťastnější rozsahy os – v části<br />

grafu již nejsou žádná data, <strong>na</strong>opak v ose y je graf až ke krajům, což nepůsobí nejlépe.


Obr. 1: Graf vložený pomocí print screen<br />

Pomocí Edit/Axes Properties tedy <strong>na</strong>stavíme rozsahy os – osu x <strong>na</strong> (0;4, osu y <strong>na</strong>příklad<br />

<strong>na</strong> (-1,05;1,05), viz Obr. 2.<br />

Obr. 2: Graf po úpravě rozsahů os


Napětí [V]<br />

2a<br />

Ukázkový graf - funkce sinus (Ukázka zápisu speciálních z<strong>na</strong>ků LaTeXovou notací: x )<br />

1<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

sin(t)<br />

sin(2t)<br />

0 2 4 6<br />

Čas [s]<br />

8 10 12<br />

Obr. 3: Graf exportovaný ve vektorovém formátu – požadovaný výsledek tohoto postupu<br />

Obr. 4: Graf exportovaný ve formátu .jpg


Výsledek je již o něco lepší, nyní již stačí graf exportovat bez šedého pozadí a ve vektorovém<br />

formátu. Ve volbě File/Export Setup <strong>na</strong>stavíme vše potřebné<br />

v záložce Size <strong>na</strong>stavíme šířku <strong>na</strong>příklad <strong>na</strong> 15 cm (šířka A4 je 21cm – 5cm okraje a<br />

1 cm rezerva), výšku ponecháme automatickou, což zajistí zachování poměru stran,<br />

v záložce Fonts <strong>na</strong>stavíme velikost písma <strong>na</strong>př. <strong>na</strong> 10 bodů,<br />

v záložce Lines zaškrtneme volbu „Custom width“ a podle potřeby <strong>na</strong>stavíme buď<br />

fixní tloušťku (vhodné jsou <strong>na</strong>př. 2b), nebo <strong>na</strong>stavíme zvětšení v procentech,<br />

tato <strong>na</strong>stavení můžete uložit jako vlastní profil v oblasti Export Styles,<br />

jak se <strong>na</strong>stavení projeví <strong>na</strong> grafu zjistíme tlačítkem „Apply to figure“<br />

Ve chvíli kdy jsme spokojeni, aplikujeme <strong>na</strong>stavení pomocí tlačítka „Apply to figure“ a<br />

následně tlačítkem „Export“ uložíme graf ve správném formátu:<br />

formát .emf pro MS Office,<br />

formát .eps pro LaTeX.<br />

Výsledný graf je zobrazen v obr. 3. Pro srovnání je v obr. 4 ten samý graf ve formátu .jpg –<br />

zkuste si grafy zvětšit a pozorujte rozdíly v kvalitě. Soubor s grafem ve vektorovém formátu<br />

má <strong>na</strong>víc menší velikost.<br />

Na závěr ještě malá demonstrace důležitosti <strong>na</strong>stavení rozměru grafu při exportu. Pokud<br />

bychom s grafem <strong>na</strong>příklad pracovali <strong>na</strong> celé obrazovce (v mém případě rozlišení 1920x1200<br />

bodů) a export provedli při této velikosti bez <strong>na</strong>stavení šířky grafu, výsledek by vypadal jako<br />

<strong>na</strong> obr. 5. Tento výsledek je daný faktem, že graf bylo třeba výrazně zmenšit, aby se vešel <strong>na</strong><br />

A4, což má za důsledek nečitelné popisky i přesto, že mají stále velikost 10 bodů.<br />

Napětí [V]<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-0.2<br />

-0.4<br />

-0.6<br />

-0.8<br />

-1<br />

2a<br />

Ukázkový graf - funkce sinus (Ukázka zápisu speciálních z<strong>na</strong>ků LaTeXovou notací: x )<br />

1<br />

0 2 4 6 8 10 12<br />

Čas [s]<br />

Obr. 5: Export z maximalizovaného ok<strong>na</strong> bez <strong>na</strong>stavení šířky grafu<br />

Při splnění těchto jednoduchých kroků můžete jednoduše dosáhnout kvalitních grafů (tedy<br />

podobných grafu <strong>na</strong> obr. 3, jen jistě obsahově mnohem bohatších), čímž potěšíte svého<br />

cvičícího při opravování domácích úkolů, laboratorních prací a postup využijete i ve své<br />

bakalářské či diplomové práci.<br />

sin(t)<br />

sin(2t)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!