abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 1
    dnes 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    dnes 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 4
    včera 23:11 | Bezpečnostní upozornění

    Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | IT novinky

    Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Bezpečnostní upozornění

    V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | IT novinky

    Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.

    Ladislav Hagara | Komentářů: 2
    včera 02:11 | Nová verze

    Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.

    Ladislav Hagara | Komentářů: 2
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (10%)
     (10%)
    Celkem 291 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: Úprava záznamů pro grafy

    16.4.2016 16:31 Deryl | skóre: 11
    Úprava záznamů pro grafy
    Přečteno: 1230×

    Zdravím,

    sbírám data z elektroměru a ukládám do tabulky (MariaDB):

           time               averagePower
    2016-04-10 10:01:00           270
    2016-04-10 10:02:00           290
    2016-04-10 10:03:00           280
    2016-04-10 10:04:00           300
    2016-04-10 10:05:00           280
    

    Data lze interpretovat:

    v průběhu 2016-04-10 10:00:00 až 10:01:00 byla průměrná spotřeba 270 W;
    v průběhu 2016-04-10 10:01:00 až 10:02:00 byla průměrná spotřeba 290 W;
    atd.

    Data bych rád zobrazil v grafu (pro web) následovně:

    300                            --------
    290              --------      |      |
    280              |      |-------      --------
    270       --------                           |
    260       |                                  |
            10:00  10:01  10:02  10:03  10:04  10:05
    

    Jsa ohledně zpracování hromadnějších dat laik, hledám nápovědu, jakým směrem se vydat:

    • nejsnazší se jeví ukládat do db všechny hodnoty, které potřebuji pro vytvoření grafu - tj. prakticky duplikovat každý záznam s časem -1 minuta;
    • chybějící data řešit programově v momentu požadavku na generování grafu - lze toto pomocí SQL query?;
    • použít knihovnu či javascript pro grafy (cokoliv rozumného pro dynamický web, s výpočty ideálně na straně klienta), která to umí "sama".
    Nerad bych objevoval slepé cesty, poradíte někdo, jak to nejlépe pojmout?

    Řešení dotazu:


    Odpovědi

    16.4.2016 16:52 NN
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Cestou rrd databaze?
    16.4.2016 17:31 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Problém je jinde: hodnota "value" není aktuální stav něčeho v daný moment (time), ale průběh trvající na stejné úrovni od minulého měření.

    Všechny jednoduché grafy namalují přímou spojnici mezi "values", tj. bez duplicitních záznamů budou spojnice šikmé - takový druh grafu se hodí např. pro zobrazování aktuální teploty (tj. spojnice aproximuje teplotu v mezičase mezi měřeními), ale ne pro průběhovou veličinu.

    Odkážu-li se k výše uvedenému příkladu, spojnice mezi 10:01 a 10:02 (dle záznamů v db) by stoupala z 270 na 290, tj. vizuálně by se dalo odečíst, že spotřeba v 10:01:30 je 280 W.

    Tak tomu ovšem není, protože v intervalu mezi 10:01 - 10:02 byla spotřeba (průměrná, v jakémkoliv okamžiku) 290 W - což je na náčrtu grafu v dotazu jednoznačně patrné.

    Jinými slovy řeším, jak interpretovat data z db v grafu: zda duplikovat záznamy pro účely přípravy grafu např. do dočasné tabulky nebo zda to umí nějaká javascript knihovna "on-the-fly".

    Viz např. příspěvek zde: https://community.openhab.org/t/persist-strategy-everychange-incl-the-last-known-value-before-change/7571 obsahující ukázku grafů.
    16.4.2016 17:39 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy

    červená linka ukazuje spojnice mezi body v db, modrá linka ukazuje požadovanou interpretaci.

    (Zdá se, že sem nelze vložit odkaz na obrázek, tak alespoň viz příloha.)

    16.4.2016 20:55 Filip Jirsák
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Pokud se ty záznamy ukládají každou minutu, i když zůstává spotřeba stejná, nevím, co na tom chcete řešit – stačí jenom zvolit sloupcový graf a ne spojnicový, a hodnoty na ose X nezarovnávat do prostředka sloupce, ale na jeho pravý okraj.
    16.4.2016 21:32 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Toto bude nejsnazší řešení - zkoušel jsem HighCharts, tam se mi sloupce podařilo zarovnat.
    16.4.2016 20:07 Filip Jirsák
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Nejlepší by byla třetí varianta, ale žádnou knihovnu vám z hlavy neporadím. Ale ta duplicitní data si případně můžete na klientovy snadno připravit sám. Druhá varianta je možná v plnohodnotných SQL databázích – vygenerujete si sadu záznamů se zvolenou granularitou (ve vašem případě 1 minuta), a tu spojíte s daty z tabulky (vždy použijete nejbližší vyšší nebo shodnou hodnotu). V MySQL/MariaDB byste si ale tu funkci pro generování sady záznamů asi musel napsat sám (nenašel jsem, že by měla něco takového, jako je třeba v PostgreSQL generate_series).
    Josef Kufner avatar 16.4.2016 21:34 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Hello world ! Segmentation fault (core dumped)
    17.4.2016 12:59 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Od Flotu mne trochu odrazuje, že už na to dva roky nikdo nesáhl (github), což je škoda. Dokonalostí to asi nebude (328 issues, 122 pull reqs).
    Josef Kufner avatar 17.4.2016 14:26 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Úprava záznamů pro grafy
    Když jsem ho před pár lety používal, fungoval velice hezky. Na Githubu vypadá trochu mrtvě, ale jinak to je zralý nástroj.
    Hello world ! Segmentation fault (core dumped)

    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.