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

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 4
    dnes 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    včera 16:00 | IT novinky

    Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.

    Ladislav Hagara | Komentářů: 9
    včera 14:11 | Nová verze

    Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 5
    včera 12:22 | Nová verze

    Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.

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

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

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

    Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).

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

    CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.

    |🇵🇸 | Komentářů: 0
    21.8. 05:00 | Nová verze

    Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2496 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Interaktivní vykreslování grafu

    1.7.2016 10:28 28734
    Interaktivní vykreslování grafu
    Přečteno: 759×
    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: 78 | blog: Jenda | 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: 78 | blog: Jenda | 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.