Fórum Root.cz

Hlavní témata => Software => Téma založeno: nosense.cz 28. 02. 2013, 21:42:19

Název: Interaktivní prohlížeč grafů
Přispěvatel: nosense.cz 28. 02. 2013, 21:42:19
Zdravím,

mám tady soubor několika tisíc položek dat ve formátu "<časové razítko>:<název kategorie>=<hodnota>\n" (dá se upravit). Potřeboval bych do jednoho grafu vykreslit cca 10 takovýchto kategorií s možností interaktivního procházení. Hodila by se i možnost zobrazení odvozených veličin, např. pokud se v souboru dat nachází složky vektoru a chtěl bych na základě nich vykreslit velikost vektoru. Ptám se jestli neexistuje nějaký hotový nástroj, než to začnu programovat sám. Je potřeba, aby program běžel na Win/Linuxu, open source výhodou. Dík za každý tip.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: dumblob 01. 03. 2013, 08:14:20
AWK + Gnuplot a par kratkych radku (tipuji tak 5 v AWK a 15 v gnuplotu) by mohla byt jedna cesta (borci na gnuplot me mozna servou, ze AWK by sel vynechat, ze to Gnuplot nejak zvladne, ale tohle uz by v zadnem pripade nebylo na 15 radku ;)).
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: Zopper 01. 03. 2013, 08:19:45
Nevím, jaké jsou podmínky, ale možná by šla i webová aplikace? Třeba https://developers.google.com/chart/
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: nosense.cz 01. 03. 2013, 13:29:08
U gnuplot je problém v té interaktivitě. Potřebuji něco na způsob zobrazení signálu v editorech zvuku. Ovšem pro cca 10 "kanálů" a s možností zobrazit několik kategorií dat (kanálů) přes sebe v jednom grafu. Potom už mi stačí obvyklé funkce, které nabízí tyto zvukové editory - zoom na určitý časový úsek, změna měřítka pro některou kategorii dat - toho nejspíš v gnuplot těžko dosáhnu. Na předpočítání odvozených hodnot už není problém napsat skript.

V podstatě jde o vizualizaci různých letových údajů naměřených během letu - výška, rychlost, vektor zrychlení, úhly naklonění, a další. Aby se to dalo pohodlně procházet je potřeba umět zoom na nějaký časový úsek, měnit měřítka jednotlivých veličin a zapínat/vypínat zobrazení veličin.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: qw 01. 03. 2013, 13:53:01
myslím, že nějakou interaktivitu lze z gnuplotu získat, zbytek by už pak neměl být problém dodělat skripty.

http://gnuplot.sourceforge.net/demo_canvas_4.6/
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: johnyBeGood 01. 03. 2013, 14:35:17
Nevim jak moc je to interaktivni, ale bookmarknul jsem si to pro podobne ucely - http://graphite.wikidot.com/.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: Petr 01. 03. 2013, 15:26:45
V gnuplotu se interaktivita dosáhne pomocí příkazu bind, který umí namapovat klávesu na libovolnou posloupnost příkazů. Typicky se to použije tak, že nový příkaz změní nastavení (proměnné ovlivňující vykreslování, příkazy set) a pak se dá plot nebo replot. Výhodné je přitom použití maker (příkazy v řetězci), lze též použít nově přidané podpory pro  if {...} else {...}. Dají se tak připravit i docela složité interaktivní hrátky.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: nosense.cz 01. 03. 2013, 15:49:38
Dík za odpovědi, Graphite vypadá přesně jak jsem si to představoval. Snad to bude běhat podle přestav i na mých datech.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: Mirek Prýmek 01. 03. 2013, 16:06:03
Gnuplot je imho vynikající na takovéty základní grafy, které chce člověk udělat rychle. Na složitější věci už začíná být trochu těžkopádný a na tohle bych ho určitě nepoužíval.

Pokud by z nějakého důvodu nevyhovoval ten Graphite, ještě je možnost použit R ( http://www.r-project.org/ ). Tam je výhoda, že se kromě grafů dá udělat zároveň i statistické zpracování. Akorát ten jazyk je pro člověka zvyklého na normální programovací jazyky takový trochu zvláštní :)

Statické grafy se v Rku dělají dobře s balíkem ggplot2. Pro interaktivní nemůžu zodpovědně poradit, zatím jsem nezkoušel. Existuje víc možností (Google: R interactive plot). Matně si pamatuju, že jsem četl i cosi o interaktivním SVG, to vypadalo hodně zajímavě, ale nezkoušel jsem.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: Michal Ambroz 01. 03. 2013, 16:48:14
Jestli uvazujes udelat to rozhrani jako webovku (cimz by odpadl problem s prenositelnosti), tak doce zajimave je D3 http://d3js.org/ (http://d3js.org/) nebo Flot2 http://www.humblesoftware.com/flotr2/index (http://www.humblesoftware.com/flotr2/index), Flot http://www.flotcharts.org/ (http://www.flotcharts.org/)

Uvazoval bych i o Google Chart Tools https://google-developers.appspot.com (https://google-developers.appspot.com), ale nelibi se mi ze to musi byt online z google - vidim tam potencialni riziko ze data by mohl za jistych okolnosti chroupat i nekdo jiny.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: venca 01. 03. 2013, 17:11:10
http://cran.r-project.org/ (http://cran.r-project.org/) + http://www.ggobi.org/ (http://www.ggobi.org/) = http://www.ggobi.org/rggobi/ (http://www.ggobi.org/rggobi/)
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: nosense.cz 27. 03. 2013, 21:03:04
Díky za odpovědi a rád bych toto téma uzavřel. Vyzkoušel jsem pár programů a po několika nesouvisejících zdrženích jsem nakonec našel program, který splňuje v podstatě všechny požadavky - SciDAVis (http://scidavis.sourceforge.net/). Sice už není nějakou dobu vyvíjen, ale pro moje potřeby to není důležité.
Název: Re:Interaktivní prohlížeč grafů
Přispěvatel: Ivorne 28. 03. 2013, 01:17:31
Já tedy nevím, ale přijde mi, že tohle je skoro příkladná úloha na gnuplot. V interaktivním režimu můžeš zoomovat a posouvat graf.  Má to svá omezení, ale výhodou je, že to uděláš snadno a rychle.