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í
×
    dnes 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 5
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 17
    6.2. 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    6.2. 13:33 | IT novinky

    Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.

    Ladislav Hagara | Komentářů: 4
    6.2. 11:22 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po

    … více »
    Ladislav Hagara | Komentářů: 26
    6.2. 11:11 | Nová verze

    Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.2. 04:22 | Komunita

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (12%)
     (29%)
    Celkem 796 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Použití gnuplot pro tvorbu grafů v PHP - II

    3. 5. 2004 | Petr Bravenec | Programování | 10666×

    Když už grafy fungují, můžete určit jejich druh, vybarvit je, přidat popisky a vůbec je všelijak vylepšit.

    Užitečné fígle

    Podle výše uvedeného příkladu lze vyrobit velkou část požadovaných grafů. Další grafy lze vyrobit většinou stejně jednoduše - největší práci dá pročítání dokumentace, případně prohledávání dříve vyrobených grafů a zjišťování "jak jsem to dělal posledně?". Shrnuté zkušenosti stačí na tvorbu drtivé většiny grafů, které kdy od gnuplot můžete chtít.

    Nápověda

    gnuplot má vestavěnou velmi podrobnou dokumentaci. K ní se dostanete přímo z povelové řádky, například:

    help plot

    vypíše nápovědu k příkazu plot. Nicméně takto zpracovaná dokumentace může být pro někoho mírně nepřehledná, a bude mu lépe vyhovovat dokumentace na internetu: http://www.gnuplot.info/docs/gnuplot.html.

    Program gnuplot poměrně inteligentně reaguje na proměnnou PAGER. Nevyhovuje-li vám pro prohlížení použitý more, zkuste před startem nastavit proměnnou PAGER:

    export PAGER=less
    gnuplot

    Typy grafů

    Parametrem with lze měnit typ grafů. Z nejpoužívanějších typů se celkem normálně chovají lines, points, linespoints, dots a impulses. Trochu komplikovanější chování je u typů errorbars, boxes a podobně - tyto datové typy používají tři rozměry místo obvyklých dvou. U takových grafů se třetí rozměr zadává v parametru using jako další číslo sloupce:

    plot "data" using 1:2:3 with errorbars;

    Sloupcový graf

    Sloupcový graf se vytváří příkazem plot s parametrem with boxes. Většinou má ale gnuplot o sloupcovém grafu jinou představu než uživatelé.

    Není-li zadaný údaj jiným způsobem, volí gnuplot šířku sloupce automaticky tak, aby byly jednotlivé sloupce v grafu přilepené jeden na druhém. Jednoduše lze šířku sloupce nastavit příkazem set boxwidth 0.5. Hodnota 1 odpovídá maximální šířce sloupce jako při nezadané hodnotě (tedy sloupce přilepené jeden na druhém). Kromě toho lze šířku sloupce zadat přímo v datovém souboru a použít v příkazu plot parametr using 1:2:3 - z prvního sloupce datového souboru se pak bere vodorovná souřadnice, z druhého sloupce výška boxu a ze třetího sloupce šířka boxu. Každý sloupec tedy může mít jinou šířku.

    Ve starších verzích nejsou sloupce vyplněné. Od verze 4 je možné vyplnit sloupce barvou nebo vzorem pomocí příkazu set style fill.

    Popis datových hodnot

    gnuplot normálně popisuje datové hodnoty způsobem, který většinou asi nebude vyhovovat. Každou hodnotu lze popsat zvlášť pomocí parametru title příkazu plot. Popis jedné vybrané hodnoty lze potlačit parametrem notitle.

    plot "x" using 1:2 title "Prodej v lednu", "x" using 1:3 notitle;

    Přesun popisků jinam

    Často se stane, že popisky zasahují do vykreslovaných hodnot a překážejí. Přesunout jinam či úplně potlačit se dají příkazem set key. Například příkaz

    set key left reverse;

    přesune popisky do levého horního rohu a obrátí pořadí popisků - první se bude zobrazovat styl hodnoty a pak textový popis. Popisky se dají úplně potlačit příkazem set nokey - ve verzi 4 příkazem set key off.

    Popis vodorovné a svislé osy

    Vodorovnou a svislou osu lze popsat příkazem set:

    set xlabel "Vodorovná osa";
    set ylabel "Svislá osa";

    Možná ale stejně jako já zjistíte, že popisovat osy tímto způsobem není to pravé ořechové a na popisování os rezignujete.

    Značky na osách

    gnuplot volí meze a hustotu stupnice os automaticky. Často se ale do grafu vykreslují například hodnoty po jednotlivých dnech a pak je vhodné mít v popiscích uvedené konkrétní datumy, nikoliv nic neříkající čísla.

    set bmargin 8;
    set xtics rotate ("1.týden" 1, "2.týden" 7, "3.týden" 14);

    V uvedeném příkladu se bude zobrazovat popis pouze každé sedmé hodnoty a místo čísla se vypíše uvedený text. Aby se texty v grafu nepřekrývaly, jsou popisky parametrem rotate otočené o devadesát stupňů. Protože gnuplot má pro popisy vyhražené pouze omezené místo, je zvětšený příkazem set bmargin spodní okraj grafu.

    Se značkami souvisí i kreslení mřížky v samotném grafu. Mřížka se zapíná nebo vypíná příkazy set grid případně set nogrid.

    Barvy

    V příkazu set terminal gif je pamatováno i na barvy. Ty se zadávají v hexadecimálním vyjádření s pískenkem x na začátku a v obvyklém pořadí RRGGBB (červená, zelená a modrá složka) - například x00ff00 znamená zelenou barvu. Zadané barvy interpretuje gnuplot v tomto pořadí: pozadí, rámeček, mřížka a následují barvy jednotlivých zobrazovaných hodnot.

    Vstup dat z příkazové řádky

    Stejně jako ze souboru lze zobrazovat i data z příkazové řádky. Místo jména souboru se zadá pomlčka a hodnoty se zadávají za příkaz plot. Celý datový blok končí písmenem e na prázdném řádku. Tímto způsobem se dá zobrazovat i několik datových setů za sebou - z příkazové řádky se čtou hodnoty v tom pořadí, v jakém byly zadané v příkazu plot:

    plot '-' using 1:2 title 'Pmax' with steps, '-' using 1:2 title 'I450';
    0 10
    4 0
    e
    0.450 3.5
    e

    Výpočty a podmíněné hodnoty

    Občas je potřeba provést nějaké výpočty přímo v programu gnuplot. Dá se to udělat v parametru using:

    plot "soubor" using 1:($2==0 ? 1/0 : $3) with impulses;

    Uvedený příklad kreslí na vodorovné souřadnici (zadaná ve sloupci 1) hodnotu ze sloupce 3, pouze v případě, že sloupec 2 obsahuje nulu, nevykresluje nic (jednička dělená nulou má v gnuplot svůj význam). Podobným způsobem lze provádět s daty i různé výpočty.

    Vyhlazené hodnoty

    V některých typech grafů jsou užitečnější vyhlazené hodnoty, než nezpracovaná data. Vyhlazené hodnoty by vás určitě zajímaly v případě, že byste chtěli sledovat například oblíbenou výši "průměrného" platu a počty lidí pobírající určitou částku. Ve výrobních podnicích se podobným způsobem bude sledovat zase statistické rozdělení výrobků podle kvality a podobně:

    plot "data" using 1:2 with impulses, "data" using 1:2 smooth bezier with lines;

    Vyhlazení zobrazovaných hodnot bezierovou křivkou

    Kromě parametru bezier lze použít i parametr csplines a další.

    Ladění

    gnuplot volaný z PHP skriptu se dost špatně ladí. Chybové hlášky z programu najdete obvykle v chybovém logu web serveru (nejspíše někde ve /var/log/http/error_log). Nepomůže-li vám chybové hlášení z logu, můžete zkusit najít příkazový soubor v adresáři /tmp. Nezapomeňte ale na to, že v souboru je příkazy set terminal gif... ; set output; přesměrovaný výstup místo na obrazovku na standardní výstup.

    Závěrem

    Určitě jste poznali, že tento článek není žádným uceleným návodem na výrobu grafů v PHP a gnuplot. Snažil jsem se jen upozornit na jednu z možností, jak obohatit www stránky o jednoduché grafické výstupy a ulehčit vám hledání v manuálech při řešení triviálních problémů (popisy os, popisy hodnot a podobně).

           

    Hodnocení: 37 %

            š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.