Fórum Root.cz
Hlavní témata => Software => Téma založeno: 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.
-
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 ;)).
-
Nevím, jaké jsou podmínky, ale možná by šla i webová aplikace? Třeba https://developers.google.com/chart/
-
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.
-
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/
-
Nevim jak moc je to interaktivni, ale bookmarknul jsem si to pro podobne ucely - http://graphite.wikidot.com/.
-
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.
-
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.
-
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.
-
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.
-
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/)
-
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é.
-
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.