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 13:37 | IT novinky

I čtenáři AbcLinuxu před dvěma lety vyplňovali dotazníky věnované Retro ThinkPadu. Nyní bylo potvrzeno, že iniciativa Retro ThinkPad je stále naživu a Lenovo připravuje speciální edici ThinkPadu jako součást oslav jeho 25. výročí.

Ladislav Hagara | Komentářů: 0
dnes 10:22 | Komunita

Bylo oznámeno, že frontend a runtime programovacího jazyka D bude začleněn do kolekce kompilátorů GCC (GNU Compiler Collection). Správcem byl ustanoven Iain Buclaw.

Ladislav Hagara | Komentářů: 1
včera 18:47 | IT novinky
Bulharská firma Olimex je známá jako výrobce kvalitních mini arm desek, u nichž se snaží být maximálně open source. Kromě velké otevřenosti taktéž zaručují dlouhodobou podporu výroby, což je vítáno ve firemním prostředí. Nyní firma ohlásila ESP32-GATEWAY, malou IoT desku s Wifi, Bluetooth, Ethernetem a 20 GPIO porty za 22EUR. Tato malá deska je ořezanou verzí ESP32-EVB.
Max | Komentářů: 16
včera 18:00 | Zajímavý článek

LinuxGizmos (v dubnu loňského roku přejmenován na HackerBoards a v lednu letošního roku zpět na LinuxGizmos) zveřejnil výsledky čtenářské ankety o nejoblíbenější jednodeskový počítač (SBC) v roce 2017. Letos se vybíralo z 98 jednodeskových počítačů (Tabulky Google). Nejoblíbenějšími jednodeskovými počítači v letošním roce jsou Raspberry Pi 3 Model B, Raspberry Pi Zero W a Raspberry Pi 2 Model B.

Ladislav Hagara | Komentářů: 0
včera 14:22 | Pozvánky

Ne-konference jOpenSpace 2017 se koná od 13. do 15. října 2017 v hotelu Farma u Pelhřimova. Registrace účastníků je nutná. Více informací na stránkách ne-konference.

Zdenek H. | Komentářů: 0
včera 14:11 | Nová verze

Vyšla nová verze 1.2 audio kodeku Opus, která přináší mnoho drobných optimalizací a tím i celkové vylepšení poměru bitrate/kvalita. Fullband (do 20 kHz) stereo hudba je možná již od 32 kbit/s, fullband mono řeč již od 14 kbit/s. Více informací sepsal vývojář Opusu J. M. Valin formou již tradiční demo stránky.

Petr Tomášek | Komentářů: 13
včera 14:00 | Zajímavý článek

Na MojeFedora.cz byl zveřejněn překlad příspěvku na blogu Christiana Schallera, vedoucího desktopového týmu v Red Hatu, v němž se zabývá novinkami ve Fedoře Workstation 26 a následujících vydáních. Například již ve Fedoře 27 by se měl objevit jednotný server pro audio a video v Linuxu PipeWire. Ten byl představen před dvěma lety. Tenkrát ještě pod názvem Pinos (PulseVideo).

Ladislav Hagara | Komentářů: 0
včera 05:55 | Bezpečnostní upozornění

V KMailu byla nalezena a opravena bezpečnostní chyba CVE-2017-9604 týkající se uživatelů, již své maily podepisují a šifrují pomocí OpenPGP. Pokud uživatel KMailu při odesílání mailu zvolil možnost Odeslat později, tak byl mail odeslán nepodepsaný a v otevřeném tvaru.

Ladislav Hagara | Komentářů: 13
včera 04:44 | Pozvánky

Mozilla.cz zve na Mozilla meetupy v Brně a Praze. Brněnské setkání proběhne vůbec poprvé, a to tento pátek 23. 6. v Beer & Grill U Dřeváka. To pražské bude příští čtvrtek 29. 6. v Diversion Bistru.

Ladislav Hagara | Komentářů: 0
20.6. 23:22 | Zajímavý software

Po projektech PulseAudio, Avahi a systemd Lennart Poettering dnes představil nový projekt casync. Jedná se o nástroj pro distribuci obrazů systémů souborů inspirovaný rsyncem a gitem. Zdrojové kódy casyncu jsou k dispozici na GitHubu pod licencí LGPL-2.1.

Ladislav Hagara | Komentářů: 21
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (31%)
 (1%)
 (9%)
 (44%)
 (9%)
Celkem 814 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    Rozcestník

    Dotaz: Interaktivní vykreslování grafu

    1.7.2016 10:28 28734
    Interaktivní vykreslování grafu
    Přečteno: 441×
    Hodil by se mi námět, jakým způsobem a v jakém jazyce co nejefektivněji vytvořit rozhraní pro interaktivní vykreslování grafů. Moje vize je následující:
    • Mám několik desítek datových sad (např. v různých textových souborech).
    • Potřebuji vyzkoušet, které z nich je nejvhodnější vykreslit do grafu. Musí to rozhodnout člověk, neexistuje způsob, jak to dělat automaticky.
    • Udělat z dat graf v gnuplotu nebo pythonu není problém, komplikací je vyzkoušení různých kombinací zobrazených dat. Není možné hrubou silnou vyzkoušet všechny kombinace, ani není ideální konvergovat k finální grafu tak, že vždy budu ve skriptu měnit kombinace dat a znovu to vykreslovat.
    • Představuji si, že by mohlo jít udělat relativně jednoduché grafické rozhraní, kde v jednom panelu bych měl seznam možných datových řad, v druhém vykreslený graf. Graf by se v aktuálním čase překresloval podle vybraných dat k zobrazení, různé kombinace by tedy šlo vyzkoušet relativně rychle.
    • Ideálně by mohl jít graf interaktivně otáčet (3D).
    • Většinu parametrů grafu bych měnil např. v gnuplot skriptu - jsou to věci, které by se měnily jen málokdy.
    Jde o relativně soukromou věc, nic komerčního a nemusí to být přiliš robusní.

    Máte nějaké tipy, jak toto co nejjednodušeji vytvořit? Uvažoval jsem o perlu, ale nemám zkušenosti, jak v něm dělat GUI. Případně, neexistuje již něco s funkcemi, které popisuji?

    Děkuji předem

    Odpovědi

    1.7.2016 10:46 MadCatX
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Pokud nemáš problém s C++ a Qt, možná bys mohl použít Q3DSurface. Nikdy jsem to nezkoušel, takže nevím, kolik boiler plate kódu bys okolo toho musel napsat. Na čistě 2D grafy je velmi solidní Qtčková knihovna Qwt.
    Jendа avatar 1.7.2016 11:06 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Já jsem lama, takže bych to, co chce tazatel, asi psal v Pythonu a matplotlib/SciPy.
    3.7.2016 11:50 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Pokud by to byla jediná možnost, s C++ problém nemám, ale bojím se, že bych zde musel dopisovat až moc věcí od nuly.
    Jendа avatar 1.7.2016 11:02 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Už pár let zoufale sháním něco, co je schopné prostě vykreslit data, aby v tom šlo browsit a zoomovat, ideálně aplikovat elementární filtry (FIR, integrace, …), ideálně běžet realtime (data chodí ze senzorů furt) a ideálně i třeba kreslit waterfall. Nic takového jsem nenašel.

    Velmi hrubě to aproximuje KST. Má to strašně moc funkcí, ale většinou ne ty, co potřebuju :-), a praštěné ovládání.
    3.7.2016 11:48 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Díky. Nevíš, zda toto umí 3D grafy, v dokumentaci jsem je nenašel.
    1.7.2016 11:09 NN
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    3.7.2016 11:46 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Pokud koukám dobře, toto 3D grafy neumí ...
    1.7.2016 11:41 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Jelikož takové věci dělám, tak prostě webová appka s klikátky --- Python stack: Django jako web framework, Dajaxice/Dajax pro Ajax + JS knihovna FlotCharts nebo Flot nebo klidně přímo Matplotlib. Dajaxice/Dajax už autor pohřbil, ale udržuje se fork na Githubu (jelikož mám desítky tisíc řádků v tom napsané i já, tak si to udržuju taky).

    Místo Djanga (je-li to pro někoho kanon na vrabce) lze použít i Flask či Bottle a ajaxovou stránku věci napsat přímo.
    3.7.2016 11:53 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Díky, dost možná to tak dopadne. Neměl bys nějaký kód na 3D grafy, o který by ses podělil, ať nemusím začínat od píky? ;)
    3.7.2016 18:05 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Příloha:
    Jak říkám, kombinuju JS a Matplotlib. Data naexportuješ jako cvs apod. Matplotlib ale neumí grafy otáčet, takže (a s tím osobní zkušenost nemám) bych zkusil něco z toho, co například používá pythonovský SageMath -- buď nějakou JS knihovnu (mají three.js?) nebo javovský jmol.

    Poslední dobou jede plotly (tím spamují každičké fórum a komunitu na G+, čímž mi lezou neskutečně krkem), což je dost schopná věc s API pro Python, R aj. Jede i v offline modu. Oni totiž chtějí dost peněz za nasazení na servery apod. Když člověk nefunguje v offline modu, chce to po něm jméno a key atd. Ale nějakou dobu se dá plotly nainstalovat přes pip a pak aktivovat offline mod (viz níže). A s těmi grafy se dá otáčet (JS).

    Dejme tomu, že máš soubor s daty, ty nahraješ buď přes numpy, nebo třeba Pandas (což je pythonovský balík pro časové řady atd.). Já udělal csv soubor tak, že jsem do něj vyexportoval hodnoty z definované funkce. No to je fuk, prostě teď přejdeme na vykreslení pomocí plotly v offline režimu v Jupyteru (iPython notebooku).
    import plotly
    from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
    init_notebook_mode()
    
    plotly.offline.init_notebook_mode()
    
    import plotly.graph_objs as go    
    import pandas as pd
    
    z_data = pd.read_csv('data_3d.csv')
    
    data = [
        go.Surface(
            z=z_data.as_matrix()
        )
    ]
    
    layout = go.Layout(
        title='3D graf',
        width=800,
        height=650,
    
    )
    
    fig = go.Figure(data=data, layout=layout)
    iplot(fig, filename='elevations-3d-surface', show_link=False)
    
    Výsledek v příloze. Ovšem konkrétně řešení pro tebe jen tak nenavrhnu. To, co přesně chceš, víš jen ty. :-) Ale vsadil bych na Python stack.
    3.7.2016 18:08 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Příloha:
    A tady ještě ten graf pootočený, viz přílohu.
    3.7.2016 18:38 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Pěkná ukázka, konkrétní řešení je samozřejmě na mě, především kvůli struktuře a zpracování dat, toto ale jako ukázka postačuje. Více méně by graf samotný nějak podobně mohl vypadat, ale příliš se mi nelíbí ten jejich online/offline mód. Druhý z nich je lehce složitější než přiložení knihovny, což by mohl být problém na některých strojích, online verze s licencování nepřichází v úvahu. Nebo nevíš, lze plotly nějak přiložit ke skriptu, aby byl nezávislý na stroji, tj. fungoval tam, kde je jen "základní" Python? Možná je to triviální dotaz, ale s knihovnami v Pythonu nemám zkušenosti a na podobný dotaz streja google neodpověděl.
    3.7.2016 19:05 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Nevím, jestli rozumím dotazu. Jako přiložit knihovnu do adresáře podobně jako DLL u Win aplikací nebo JS u HTML? To asi ne, to není jeden soubor. :) To ať poradí někdo znalejší. Každý stroj, na kterém se spouští pythonovské kódy, které vyžadují numpy, scipy, matplotlib apod., musejí mít tyto knihovny/balíčky u sebe. Lze třeba udělat "izolované" prostředí, tzv. virtuální prostředí -- virtualenv, kde budou jen potřebné věci (výše jmenované), aniž by zasahovaly do systémového Pythonu. Vytvořím jako virtualenv pyenv, kde pyenv je mnou zvolený název, do něj se přepnu pomocí příkazu source /cesta-k-pyenv/bin/activate a v konzoli mi svítí, že pracuju z tohoto prostředí a všechny py skripty budou spuštěny odtud (což se lze přesvědčit dotazem which python, který vrátí cestu do toho adresáře a ne systémovou). Abych jako ocas nemusel psát celou cestu k virtuálním prostředím, udělal jsem si aliasy v profilu bashe: alias pyenv='source /cesta-k-pyenv/bin/activate'. Takže v konzoli stačí zadat pyenv a jsem tam. Z virtuálního prostředí se ven dostanu zadáním deactivate.

    Virtuální prostředí lze vytvořit i tak, aby vůbec neviděl pythonovské systémové věci a vše řídil jen na základě toho, co má v tom mnou definovaném adresáři. Abych nezapomněl, jakmile jsem v tom virtualenv, potřebné knihovny apod. instaluju normálně jako pip install balíček.

    Jestli chceš ještě větší míru izolace a hlavně přenositelnosti, pak prosím, sáhni po Dockeru. S tím si vyhraješ dosyta.

    3.7.2016 20:53 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Nevím, jestli rozumím dotazu. Jako přiložit knihovnu do adresáře podobně jako DLL u Win aplikací nebo JS u HTML? To asi ne, to není jeden soubor. :)
    Ano, dotaz jsi pochopil. Jdu se tedy učit s pythonem ;)
    3.7.2016 21:13 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Když napíšeš, v čem a zda vůbec jsi programoval, na jakém systému to budeš dělat atd., tak se ti pokusím v lecčems pomoci, abys ze začátku moc netápal.
    4.7.2016 07:59 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Vážím si nabídky, ale raději se budu ptát časem na konkrétní věci. Obecných návodů je na internetu mnoho a nepotřebuji plýtvat potenciálem geinálních mozků v tomto fóru :-)
    3.7.2016 18:18 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Sorráč, tady je čistější kód, špatně jsem ti to překopíroval z těch ukázek, zůstaly tam zbytečnosti atd.
    from plotly.offline import iplot, init_notebook_mode
    init_notebook_mode()
    
    import plotly.graph_objs as go    
    import pandas as pd
    
    z_data = pd.read_csv('data_3d.csv')
    
    data = [
        go.Surface(
            z=z_data.as_matrix()
        )
    ]
    
    layout = go.Layout(
        title='3D graf',
        width=800,
        height=650,
    )
    
    fig = go.Figure(data=data, layout=layout)
    iplot(fig, show_link=False)
    
    1.7.2016 20:26 Tany
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    NVD3 http://nvd3.org/

    3.7.2016 11:43 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Děkuji, toto ale asi neumí 3D grafy
    3.7.2016 23:55 ttt
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    d3 3d grafy umí, ale nezkoušel jsem je, nedokážu říct, jak moc je to komplikované. http://bl.ocks.org/supereggbert/aff58196188816576af0
    4.7.2016 01:09 Olaf
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    No ale ten kód je bruntální.
    1.7.2016 21:50 ehmmm
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Matlab? Ja vim, ten asi neprojde. Nevim, jestli by tohle umelo i Octave.
    3.7.2016 11:45 28734
    Rozbalit Rozbalit vše Re: Interaktivní vykreslování grafu
    Není důvod, proč by Matlab neprošel. Pokud bych věděl, že v něm výsledku dosáhnu podstatně efektivněji, použiji ho. Nevím ale, jak v něm udělat podobné grafické rozhraní, tak raději sáhnu po něčem univerzálnějším.

    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.