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:33 | IT novinky

    Na vývojářské konferenci Applu WWDC23 byla představena řada novinek (cz): brýle Apple Vision Pro, MacBook Air 15” s čipem M2, Mac Studio s čipem M2 Max nebo M2 Ultra, Mac Pro s čipem M2 Ultra, iOS 17, iPadOS 17, macOS Sonoma, watchOS 10, …

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Pozvánky

    Chystá se poslední jarní Virtuální Bastlírna. Nachystejte si ledové kávy, mojita a vodní chladiče a pojďte se se strahovskými bastlíři pobavit o technice a bastlení! Ptáte se, co mají bastlíři za novinky? Například se ukázalo, že OLED s SSD1306 ve skutečnosti nejsou nutně jen černobílé. Vyšla také nová verze KiCADu včetně betaverze pluginu pro tvorbu databázových knihoven pro KiCAD v InvenTree a na internetu se objevil USB

    … více »
    bkralik | Komentářů: 0
    včera 21:22 | IT novinky

    6. červen je dnem za skutečný internet (neboli Světový den IPv6). Již tradiční příležitost urgovat svého ISP, kdy zavede do sítě IPv6, ale také příležitost šířit osvětu i mezi netechnické uživatele. V současnosti má IPv6 v ČR jen cca 20 % uživatelů (podle statistik společností Akamai a Google).

    xHire | Komentářů: 0
    včera 15:44 | Pozvánky

    Festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí Maker Faire Prague 2023 proběhne o víkendu 10. a 11. června na Výstavišti Praha.

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

    Byla vydána verze 8.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

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

    Projekty Blink a Blinkenlights dospěly do verze 1.0. Jedná se o x86-64-linux emulátor a jeho TUI nadstavbu sloužící jako debugger. Blink je v porovnání s qemu-x86_64 menší a rychlejší.

    Ladislav Hagara | Komentářů: 0
    včera 10:44 | Komunita

    Bylo potvrzeno, že Debian 12 s kódovým jménem Bookworm vyjde v tuto sobotu 10. června.

    Ladislav Hagara | Komentářů: 10
    4.6. 22:22 | Nová verze

    Byla vydána nová verze 2023.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Zdůraznit lze předpřipravené obrazy pro Hyper-V nebo to, že ve výchozím prostředí Xfce bylo PulseAudio nahrazeno multimediálním serverem PipeWire.

    Ladislav Hagara | Komentářů: 4
    3.6. 15:22 | Nová verze

    Tento týden byla vydána nová verze 1.52 webového prohlížeče Brave (Wikipedie, GitHub). Postavena je na Chromiu 114. Z novinek lze vypíchnout možnost povolit vertikální karty (vertical tabs). Také bylo představeno Brave Search API k vyhledávači Brave Search.

    Ladislav Hagara | Komentářů: 0
    2.6. 19:55 | Komunita

    Matthias Clasen z Red Hatu oznámil v diskusním listu vývojářů Fedora Linuxu, že tým Red Hat Display Systems se zaměří na Wayland a podporu HDR na Linuxu a přestane spravovat RPM balíčky pro LibreOffice. V další major verzi RHELu už LibreOffice nebude. Pokud se nenajde správce balíčků pro Fedora Linux, zůstane pouze LibreOffice ve Flatpaku.

    Ladislav Hagara | Komentářů: 85
    Twitter (nejen pro příležitostné čtení)
     (84%)
     (3%)
     (13%)
    Celkem 103 hlasů
     Komentářů: 5, poslední včera 17:52
    Rozcestník

    Dotaz: Graf v PHP

    13.8.2013 19:41 Pavel | skóre: 17
    Graf v PHP
    Přečteno: 37244×
    Ahoj, potřeboval bych v php nejlépe vytvořit graf, který bude ukazovat sledovanou veličinu v určité délce intervalu. Tedy žádný sloupcový graf, těch jsem našel plno, ale nikde jak kreslit spojitou čáru. Jedinné řešení co mi napadá, je připojit databázi, nastavit osy a pak podle indexů kreslit čáru od jednoho bodu k dalšímu a tímto projet celou DB. Je to jedinné a správné řešení? Přijde mi to moc krkolomné.

    Odpovědi

    13.8.2013 19:48 Kit
    Rozbalit Rozbalit vše Re: Graf v PHP
    Musí to být v PHP? Pokud se budou data průběžně měnit, asi bych raději použil Flot.
    13.8.2013 20:54 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    Díky, vypadá to zajímavě
    Josef Kufner avatar 21.8.2013 22:17 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Graf v PHP
    Flot je dobrý nástroj. Párkrát jsem ho použil, funguje pěkně. Navíc to ušetří serveru práci s kreslením.

    V PHP si vygeneruješ potřebná data a v Javascriptu se postaráš o zbytek. Obvykle uložím data v JSON do atributu nějakého divu a ten pak nechám obecným kusem Javascriptu přetvořit na graf.
    Hello world ! Segmentation fault (core dumped)
    13.8.2013 20:30 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP
    A jak jinak lze kresli spojnicový graf, než kreslit čáru od jednoho bodu k druhému, případně vytvořit třeba křivku?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    13.8.2013 20:37 Kit
    Rozbalit Rozbalit vše Re: Graf v PHP
    Teď na to koukám. Vypadá to, že Pavel si asi myslí, že bude potřebovat víc než jeden SQL dotaz.
    13.8.2013 20:56 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    To je jasný, ale čekal jsem, že bude existovat nějaká funkce, které předám vstupní data a parametry a sama už potřebné udělá sama
    13.8.2013 21:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP
    Příloha:
    Ju, takže hledáš PHP knihovnu na grafy. Těch je roj (phpChart, pChart).
    Nebo si napiš vlastní fci, schválně jsem se jukl jak jsem to řešil před více než deseti lety, kdy PHP5 bylo předmětem debat v anarchistických kroužcích, je to sice zmatený kód a nebylo to zas tak moc řádků (pominu-li tu spline-u) viz příloha - člověk si aspoň pohraje, jdi do toho ;-).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    14.8.2013 07:54 gsnak | skóre: 21 | blog: gsnak
    Rozbalit Rozbalit vše Re: Graf v PHP
    GD (standardna sucast php) obsahuje funkcie na kreslenie (ciary, texty, ...) a potom je mozne ulozit alebo priamo obrazit png/jpg/gif subor, pozri: imageline, imagepng, atd... XY graf je kodu tak na 15-20 riadkov.
    Čo Rys, to vrah!
    14.8.2013 12:18 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    Tak jsem se rozhodl, že napřed se naučim vytvářet obrázky v PHP a poté v JS. V php mam kus kodu a obrázek zobrazuju takto: header("Content-type: image/jpeg ");

    imagepng($im);

    Ale to mi nastaví i prohlížeč pro zobrazení obrázku a nemohu ho zobrazit v textu. Napadají mi jen prasárny jak to udělat, typu vložit stránku do stránky...
    14.8.2013 12:23 Kit
    Rozbalit Rozbalit vše Re: Graf v PHP
    V textu použiješ odkaz <img src="obrazek...

    Ten obrázek můžeš vložit i inline zakódováním do Base64, ale moc často se to nedělá.
    14.8.2013 12:58 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    to znamená že ten obrázek musím napřed uložit? To mi právě napadlo, ale myslel jsem, že místo cesty uvedu nějak proměnou s obrázkem.
    14.8.2013 13:10 Kit
    Rozbalit Rozbalit vše Re: Graf v PHP
    Vůbec ho ukládat nemusíš. Prostě ho vygeneruješ ve chvíli, kdy je požadován od klienta.
    14.8.2013 14:49 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    Nechápu, můžeš prosím poslat nějaký kus kodu s tim generováním a následným zobrazením, jsem asi natvrdlej :-D
    Josef Kufner avatar 21.8.2013 22:21 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Graf v PHP
    Atribut src neobsahuje název souboru, ale URL. Tu URL, kterou používáš, když koukáš na samotný obrázek.
    Hello world ! Segmentation fault (core dumped)
    14.8.2013 14:26 R
    Rozbalit Rozbalit vše Re: Graf v PHP
    image/jpeg a hned za tym imagepng? To asi nebude dobre...
    14.8.2013 14:58 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP
    Soubor img.php (generovaný obrázek):
    <?php
    $im = imagecreate(100,50)
        or die ('Error');//?
    $v = 0;
    if(isset($_GET['var']))
      $v = (int) $_GET['var'];
    if(($v > 255)||($v < 0))  
      $v=128;
    $bgcolor = imagecolorallocate($im,$v,64,16);
    $c1 = imagecolorallocate($im,250,250,250);
    $c2 = imagecolorallocate($im,0,64,250);
    $c3 = imagecolorallocate($im,0,0,0);
    imagefilledellipse ($im,25,25,30,20,$c1);
    imageellipse ($im,25,25,30,20,$c3 );
    imagefilledellipse($im,27,26,16,14,$c2);
    imageellipse($im,27,26,16,14,$c3);
    imagefilledellipse($im,27,26,8,10,$c3);
    imagecopy($im,$im,60,10,10,10,30,30);
    
    header ('Content-type: image/png');
    imagepng($im);    
    imagedestroy($im);
    exit();
    
    Soubor test.html (stránka používající obrázek) obsahuje:
    <img src="./img.php?var=128" alt="Oka" title="Oka" width="100" height="50" />
    
    PS: Neplantat formáty obrázků!
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Tarmaq avatar 14.8.2013 15:18 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Graf v PHP
    mas tam chybu, v alt/title ma byt "Oči" ;]
    Don't panic!
    14.8.2013 15:40 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP
    Na moje oka mi nesahej.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    14.8.2013 21:44 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    Takže to je tak jak jsem myslel. Místo obrázku musím vlastně vložit jinou stránku kde ten obrázek generuji. Čekal jsem že bude existovat třeba nějaká funkce

    img src=imagepng($im) alt="Oka" title="Oka" width="100" height="50" />
    15.8.2013 08:19 gsnak | skóre: 21 | blog: gsnak
    Rozbalit Rozbalit vše Re: Graf v PHP
    Ale atribut SRC v tagu IMG chce url, jak tam mozes dat data? To proste nie je standardne html. Ukladat ho nemusis, url moze byt php stranka ktora vracia obrazok.
    Čo Rys, to vrah!
    15.8.2013 11:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP
    …jak tam mozes dat data?
    Takto, ale nemyslím, že je to vhodné.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    15.8.2013 08:56 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP

    Na základě tvého příkladu, doporučuji se zamyslet nebo přečíst nějakou dokumentaci k html ;-).

    Kit ti psal, a je to z logiky věci jak funguje html - jsou v zásadě jen dvě možnosti jednu jsem už uvedl a druhá je zde.

    Ukázka, dle mého nevhodná:
    <?php
    function getImage($v){
      ob_start();
      $im = imagecreate(100,50)
          or die ('Error');
      if(($v > 255)||($v < 0))  
        $v=128;
      $bgcolor = imagecolorallocate($im,$v,64,16);
      $c1 = imagecolorallocate($im,250,250,250);
      $c2 = imagecolorallocate($im,64,128,250);
      $c3 = imagecolorallocate($im,0,0,0);
      imagefilledellipse ($im,25,25,30,20,$c1);
      imageellipse ($im,25,25,30,20,$c3 );
      imagefilledellipse($im,27,26,16,14,$c2);
      imageellipse($im,27,26,16,14,$c3);
      imagefilledellipse($im,27,26,8,10,$c3);
      imagecopy($im,$im,60,10,10,10,30,30);
      imagepng($im);    
      $imData = ob_get_contents();
      ob_clean();
      imagedestroy($im);
      echo 'data:image/png;base64,',base64_encode($imData);  
    }
    ?>
    <img src="<?php getImage(128);?>" alt="Zapouzdřená oka" title="Zapouzdřená oka" width="100" height="50" />
    
    Samozřejmě lze ještě věc ↓ (příklad neřeší práva zápisu a cesty), ale je to variace na totéž.
    <?php
    function getImage($v){
      $im = imagecreate(100,50)
          or die ('Error');
      if(($v > 255)||($v < 0))  
        $v=128;
      $filename = "oka_$v.png";
      if(!file_exists($filename)){    
        $bgcolor = imagecolorallocate($im,$v,64,16);
        $c1 = imagecolorallocate($im,250,250,250);
        $c2 = imagecolorallocate($im,64,128,250);
        $c3 = imagecolorallocate($im,0,0,0);
        imagefilledellipse ($im,25,25,30,20,$c1);
        imageellipse ($im,25,25,30,20,$c3 );
        imagefilledellipse($im,27,26,16,14,$c2);
        imageellipse($im,27,26,16,14,$c3);
        imagefilledellipse($im,27,26,8,10,$c3);
        imagecopy($im,$im,60,10,10,10,30,30);
        imagepng($im,$filename);    
        imagedestroy($im);
      }
      echo $filename;  
    }
    ?>
    <img src="<?php getImage(128);?>" alt="Množící se oka" title="Množící se oka" width="100" height="50" />
    
    Pokud daný obrázek je využitý opakovaně m;že to mít své opodstatnění. Ale má to záludnosti, napčíklad v tom, že klient bez kontroly může plnit disk (v tomto případě jen 255 souborů, pokud by měl možnost modifikovat parametr pro volání fce getImage())
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    14.8.2013 16:58 klingac | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: Graf v PHP
    na grafy sa mi PHP osvedcila kniznica JpGraph
    21.8.2013 14:37 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    Taky se to snažím rozchodit, ale musím při zobrazení grafu nejprve načíst data do pole a to pak zobrazit, nebo mohu kreslit graf a zároveň načítat?
    21.8.2013 18:31 Pavel | skóre: 17
    Rozbalit Rozbalit vše Re: Graf v PHP
    Tak jsem to již vymyslel, ještě bych se zeptal, existuje nějaký program v čem psát, aby mi to našeptávalo? Píšu zatím v pspadu.
    21.8.2013 20:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Graf v PHP
    PsPad na Linuxu? - WOW :-), Eclipse PDT.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

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

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