Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
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.
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
|
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 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.
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;
|
Č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.
Vodorovnou a svislou osu lze popsat příkazem set:
set xlabel "Vodorovná 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.
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;
|
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.
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.
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';
|
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.
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;
|

Kromě parametru bezier lze použít i parametr
csplines a další.
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.
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ě).
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: