abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:55 | Nová verze

    Byla vydána Java 27 / JDK 27. Nových vlastností (JEP - JDK Enhancement Proposal) je 9.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Nová verze

    Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Nová verze

    Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.

    Ladislav Hagara | Komentářů: 2
    včera 14:00 | Bezpečnostní upozornění

    Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.

    vencour | Komentářů: 0
    včera 11:44 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.

    Ladislav Hagara | Komentářů: 3
    včera 03:33 | Nová verze

    Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.

    Ladislav Hagara | Komentářů: 0
    14.9. 21:00 | IT novinky

    Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.

    Ladislav Hagara | Komentářů: 0
    14.9. 17:44 | Bezpečnostní upozornění

    Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.

    Ladislav Hagara | Komentářů: 0
    14.9. 12:00 | Zajímavý projekt

    Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2682 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Octave - 12 (měřítko os a speciální grafy)

    19. 4. 2006 | Jiří Poláček | Programování | 9682×

    Pokračování článku o grafickém výstupu Octave se zaměřuje na vzhled os a popisuje vybrané speciální dvourozměrné grafy.

    Měřítko os a popisky grafu

    Příkaz plot popisovaný v minulém díle vykresluje grafy s lineárními osami. Funkce loglog, semilogx a semilogy mají stejné vstupní parametry, vykreslené grafy se však liší - jak již názvy napovídají - logaritmickým měřítkem os (buď oběma či pouze tou, která je uvedena v názvu):

    >> x=linspace(0.2, 10, 200);
    >> plot(x, log(x))
    >> loglog(x, log(x))
    >> semilogx(x, log(x))
    >> semilogy(x, log(x))
    
    plot(x, log(x)) loglog(x, log(x)) semilogx(x, log(x)) semilogy(x, log(x))

    Popisky nad grafem, jak jsou vidět na obrázcích, byly (a budou) doplněny funkcí title, například jako:

    title('semilogx(x,log(x))')

    Veškeré další požadavky týkající se os grafů směřují k použití funkce axis. Ta je dalším příkladem funkce s různorodým počtem parametrů. Volána bez jakéhokoliv parametru nastavuje měřítko os automaticky. Jedním z přípustných a zároveň volitelných parametrů může být dvou či čtyřprvkový vektor čísel (pro třírozměrné grafy i šestiprvkový), kde první dvě čísla udávají kraje osy x a druhá dvě čísla kraje osy y:

    >> axis([-1, 10, -0.8, 0.8])
    >> plot(x,sin(x))

    Dalšími parametry funkce mohou být řetězce s následujícími účinky na osy grafu:

    • přizpůsobení grafu velikosti výstupního zařízení (volby se vylučují, tj. pouze poslední uvedená bude platná):
      • 'square' - graf bude čtvercový bez ohledu na velikost výstupního zařízení
      • 'equal' - vzdálenosti na osách budou stejné bez ohledu na velikost výstupního zařízení
      • 'normal' - graf se přizpůsobí velikosti výstupního zařízení
    • zobrazování čárek a hodnot na osách (pokud jsou zakázány čárky, nezobrazí se ani hodnoty):
      • 'on', 'off' - úplně zapne/vypne čárky a hodnoty
      • 'ticx', 'ticy' - zobrazí čárky pro zvolenou osu (a nezobrazí pro nezvolenou)
      • 'labelx', 'labely' - zobrazí hodnoty pro zvolenou osu (a nezobrazí pro nezvolenou)
      • 'nolabel' - schová hodnoty na obou osách
    • pořadí hodnot na ose y:
      • 'xy' - v horní části grafu jsou vyšší hodnoty
      • 'ij' - v horní části gradu jsou nižší hodnoty

    Nuže několik příkladů (příkazy psány ve skriptech):

    axis([-4*pi 4*pi -1.5 2], 'off', 'square');
    x=linspace(-4*pi,4*pi,401);
    plot(x,sin(x),'8;sinus;',x,cos(x),'9;kosinus;',x, sin(x)+cos(x), '0;sinus + kosinus;')
    čtveratý graf bez hodnot na osách
    axis([-2*pi 5 -1.5 1.5], 'equal', 'ticx', 'labelx');
    x=linspace(-2*pi,pi,201);
    plot(x,-sin(x),';- sinus;',x,cos(x),';kosinus;',x, atan(x), ';arkus tangens;')
    rovnocenná měřítka os
    title('graf, kde je reverzní osa y a popisky os');
    axis([-4*pi 4*pi -1.8 1.5], 'normal', 'ij', 'labely');
    grid on; % vodící čáry
    xlabel('toto je popisek osy x');
    ylabel('toto je osa y');
    x=linspace(-4*pi,4*pi,401);
    plot(x, sin(x).*atan(x), '^m;sinus * arkus tangens;')
    graf, kde je reverzní osa y a popisky os

    Poslední příklad také ukazuje, že vodicí čáry v grafu lze zapnout příkazem grid on a popisky jednotlivých os doplnit příkazy xlabel a ylabel.

    Speciální dvourozměrné grafy

    Pro vykreslování některých speciálních typů rovinných grafů můžeme v Octave sáhnout po funkcích na jejich vykreslování zvlášť určených. Jejich kompletní popis je v nápovědě, zde uvedeme pouze stručnější souhrn s příklady. Na vykreslování sloupcových a schodovitých grafů existují funkce bar a stairs:

    hold on
    x=linspace(-2,2,11);
    bar(x, x.^2)
    stairs(x, x.^2+1)
    ukázka sloupcového a schodovitého grafu

    Všimněte si rozdílu, že sloupce jsou zobrazeny „na střed“ z vypočítané x-ové hodnoty, zatímco linie schodu začíná u spočítané hodnoty, jde vodorovně doprava a pokračuje nahoru či dolů k následující spočítané hodnotě - to vysvětluje, proč jsou v zobrazeném grafu schody posunuty kousek doprava oproti sloupcům.

    Ani jedna těchto funkcí neumožňuje zadat třetí volitelný parametr pro definici stylu čáry. Lze však požadovat výsledek funkce jako dvouprvkový vektor souřadnic, které lze předat funkci plot s plnou parádou:

    [barx, bary] = bar(x, x.^2)
    plot(barx, bary, 'm;sloupce;')

    Jiným typem sloupcového grafu je histogram - funkce se jmenuje hist. Algoritmus se snaží hodnoty ze vstupního vektoru (první parametr funkce) rozdělit do několika přihrádek (druhý parametr), výšky sloupečků ve výsledném grafu pak odpovídají počtu prvků v jednotlivých přihrádkách:

    hold on
    axis([0.5 5 0 4.5])
    hist([1 1 2 3 3 3 4], 4)
    hist([1 1 2 3 3 3 4], 2)
    ukázka histogramu

    Čtyři červené sloupečky v grafu odpovídají čtyřem přihrádkám z prvního volání funkce hist, výsledek odpovídá tomu, že na vstupu jsou dvě jedničky, jedna dvojka, tři trojky a jedna čtyřka. V druhém případě dělíme jen do dvou přihrádek, proto zelené sloupečky sčítají jedničky s dvojkami a trojky se čtyřkami.

    Histogram nám může být užitečný, když chceme vidět rozložení náhodných čísel z desetitisícového vzorku; čísla v příkladě sdružíme v pětisetinových intervalech:

    >> hist(rand(1, 10000), 20, 100)
    histogram z náhodných čísel

    Třetí parametr slouží k normalizaci histogramu, jeho hodnota má ve výsledku být součtem hodnot jednotlivých sloupečků grafu. Zde zadaná hodnota 100 nám tedy zajistí, že hodnoty z osy y můžeme číst jako procenta.

    Máme-li vykreslit graf z polárních souřadnic (tj. známe úhel a vzdálenost od počátku), pomůže nám funkce polar:

    hold on
    x=linspace(0,8*pi,361);
    y=linspace(0,2,361);
    polar(x,y, 'b;spirála;')
    polar(x, 2*sin(2*x), ';2 * sinus 2x;')
    ukázka grafu z polárních souřadnic

    Nakonec se zmíníme o grafu s chybovými úsečkami. Základní funkce pro lineární souřadnice se jmenuje errorbar, existují však i další varianty pro logaritmická měřítka souřadnic. Nejjednodušší použití spočívá v poskytnutí třetího vektoru chyb ke každému vykreslovanému bodu - chyba se pak zobrazí jako rozptylová úsečka:

    >> x=linspace(0,2*pi,41);
    >> chyby=rand(1,41)*0.3;
    >> errorbar(x,sin(x),chyby)
    ukázka grafu s chybovými úsečkami

    Chyba může být znázorněna také jako vodorovná úsečka či adekvátně široký sloupeček, v úvahu připadají i různé kombinace - více opět viz webový manuál.

    Nejčtenější články posledního měsíce

    Týden na ITBiz: Umělá inteligence se prý nehodí pro tvorbu aktualizací softwaru
    Týden na ITBiz: Nová technologie kapalinového chlazení čipů je 10krát účinnější než dosavadní rekord
    Týden na ITBiz: Kdo a jak bude hlídat, že české firmy dodržují Akt o kybernetické odolnosti? A jak se nařízení staví k open source

    Nejkomentovanější články posledního měsíce

    Jaderné noviny – přehled za srpen 2026
      všechny statistiky »

    Seriál Octave (dílů: 16)

    Octave - 1 (je to kalkulačka) (první díl)
    <—« Octave - 11 (kreslíme grafy)
    »—> Octave - 13 (dokončení grafiky)
    Octave - 16 (a co dál?) (poslední díl)

    Související články

    Octave - 1 (je to kalkulačka)
    Octave - 2 (počítání s maticemi)
    Octave - 3 (přístup k jednotlivým položkám matice)
    Octave - 4 (je to pravda?)
    Octave - 5 (práce s řetězci)
    Octave - 6 (práce se soubory)
    Octave - 7 (vlastní skripty a funkce)
    Octave - 8 (větvení programu)
    Octave - 9 (cykly)
    Octave - 10 (zbylé řídicí struktury)
    Octave - 11 (kreslíme grafy)
    Octave - 13 (dokončení grafiky)
    Octave - 14 (finance a statistika)
    Octave - 15 (špetka matematiky)
    Octave - 16 (a co dál?)
    Vektorový elegán Ipe
    Recenze: Kniha kódů a šifer
    Awk & sed: Příručka pro dávkové zpracování textu
    SETI@home
    Jak se píše procesor
    GnuCash - domácí účetnictví na úrovni
    Použití gnuplot pro tvorbu grafů v PHP
    Hra s písmenky - wxMaxima

    Odkazy a zdroje

    Octave

    Další články z této rubriky

    LLVM a Clang – více než dobrá náhrada za GCC
    Ze 4 s na 0,9 s – programovací jazyk Vala v praxi
    Reverzujeme ovladače pro USB HID zařízení
    Linux: systémové volání splice()
    Programování v jazyce Vala - základní prvky jazyka
           

    Hodnocení: 87 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.