Hello!
Kéne egy kis segítség. Van egy -számomra- hatalmas szöveges fájl (~2,7Mb), amiben egy oszlopban a következő adatok szerepelnek:
egy rakat 0
néhány 0,0001-tól egészen a 0,0300-ig
elenyésző esetben ebben a formátumban: 7,300001E-03
Ezeket az adatokat szeretném ábrázolni gnuplotban vagy akármiben, ami lekezel 665821 sornyi adatot. Gnumetric van a gépen, az nem tudta beolvasni az egész fájlt, gondolom OO.o-gal is ez lehet a helyzet, ezért gondoltam a gnuplotra, de nagyon nem értek hozzá. Első nekifutásra egy nagy piros foltot dobott ki. Beállítottam, hogy minden 50. és 100. értéket jelenítse meg, és akkor kaptam ezeket.
Nem tudom, hogy gondolta ki magának ezt az ábrázolást, nekem egy sima, egyszerű, még ennyire se bonyolult diagram se kell. Csak pár pont összekötve.
Előre is kösz!
- 1145 megtekintés
Hozzászólások
probald 'with dots' vagy 'with points' modon plottolni, ha osszevissza vannak az adatok, akkor a vonalas abrazolas nem lesz tul informativ
- A hozzászóláshoz be kell jelentkezni
Ez is, ha belenagyítok, ugyanezeket a görbéket eredményezi. Lehet vmi az adatsorral hibádzik.
- A hozzászóláshoz be kell jelentkezni
és a háromszázezer hatszázezer sorból hogy szeretnéd kivenni az okszigént kiszámolni azt a "pár" pontot?
- A hozzászóláshoz be kell jelentkezni
Nos, valószínűleg a későbbiekben vagy kevesebb méréssel végezzük az adatgyűjtést, vagy írok egy kódot, ami 10-15 értéket kiátlagol, és ezt addig végzem, amíg értékelhető diagrammot nem kapok. De ez még arrébb van, sztem.
- A hozzászóláshoz be kell jelentkezni
Azt nem ertem, hogy ha 0 es 0,03 kozott valtoznak az ertekek, akkor hogy lehet, hogy -2 es 11, valamint 0 es kb 240 kozott vannak abrazolva. A fuggetlen valtozod minden elemehez csak egy ertek tartozik, ugye?
(csak pusztan kivancsiva tettel: hova kell >600k meresi eredmeny?)
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Ezt sem értem én se. Egymás alatt vannak felsorolva az adatok.
Az lehet, h bezavar, h 20-30 értékenként van 2-3 üres sor? Próbáltam kiszedni sed-del ( sed '/^$/d' ), de nem tűntek el. Szedjem ki egyesével? :P
Puszta kíváncsiságból válaszolok: szélmérés. Ösztöndíjért a suli környékén szélerősséget kell mérni, ezek pedig a hétvégi szélsebességekből generált feszültségek másodpercenként. Kb. Elég pici értékek, az tény.
- A hozzászóláshoz be kell jelentkezni
Inkabb probald ki pl. 10 adaton, hogy mit tesz, ha hianyzik egy meresi eredmeny.
Aztan probald meg csak az adatok tizedet/negyedet/felet stb. abrazolni. Nem tudom, hogy hol van az elvi hatar a gnuplotnal.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Kimásoltam úgy, h 0-s sorozattal kezdődik, majd kis méréseket tartalmaz, majd a végén megint pár 0. Az eredmény: vízszintes vonal.
'set autoscale' be van kapcsolva.
Ezt írja a gnuplot: Warning: empty y range [0:0], adjusting to [-1:1]
- A hozzászóláshoz be kell jelentkezni
At tudod kuldeni a text fajlt?
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ize. Ezt sztem nehez abrazolni. Nincs fuggetlen valtozod.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Lehet a hiba forrása, h nem .(pont)-tal, hanem ,(vessző)-vel van elválasztva a tizedes érték?
- A hozzászóláshoz be kell jelentkezni
wahaaaaaaaaaaaa
Igen. A tizedes utan levagja a szamot, ha vesszovel van elvalasztva.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Oks, akkor basht neki... :P Pár perc és kiderül.
- A hozzászóláshoz be kell jelentkezni
nem kell bash, set decimalsign ha jol tudom
- A hozzászóláshoz be kell jelentkezni
Mostmár mind1. Így vmivel elfogadhatóbb grafikon jön ki, de ha belenagyítok, akkor még mindíg ilyen össze-vissza, egymást keresztező. :S Nah, majd holnap még átgondolom.
- A hozzászóláshoz be kell jelentkezni
(dupla post)
- A hozzászóláshoz be kell jelentkezni
Nekem teljesen jó ábra jött ki (vessző pontra cserélve), még belenagyítva is.
- A hozzászóláshoz be kell jelentkezni
+ generalj neki valami szamsort, ami az x tengelyen fut. Gondolom ez a meresi idotartam lesz.
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Az a baj ezzel, h 25-30 adatonként van 3-4 üres sor, amit nem tudtam seddel kiszűrni és ez belekavarna abba, ha minden sor elé számot raknék. Vmiért nem ment a sed '/^$/d', pedig mindenhol ezt olvastam.
- A hozzászóláshoz be kell jelentkezni
Meg nem probaltam egyetlen eredmenysort abrazolni, nem tudom ilyenkor mi (ha van egyaltalan) az alapertelmezett lepeskoz. Szkriptben sajnos nem tudok segiteni, de itt sok mesterember van :)
--
Debian lenny, 2.6.23
- A hozzászóláshoz be kell jelentkezni
Mivel ebben csak számok vannak, így talán egyszerűbb:
$ grep [0-9] szelmeres | sed s/,/\./g > szelmeres1
Így nem kell a "
set decimalsign ','
" parancsot használnod a gnuplot-ban. Szerintem nem kell elé seq oszlop sem, nálam tudta a gnuplot, s az ábra teljesen jó lett. Itt van:
http://kepfeltoltes.hu/080317/szelmeres_www.kepfeltoltes.hu_.jpg
- A hozzászóláshoz be kell jelentkezni
ezt milyen frontendel ábrázoltad?
--
Peace, Love, Unity, Respect
- A hozzászóláshoz be kell jelentkezni
Nálam így néz ki a gnuplot 4.2.2 default plot ablaka (debian lenny), szóval semmi különleges, mezei plot-ra ez jön fel.
- A hozzászóláshoz be kell jelentkezni
plo '
------------
kiszedi az ures sorokat
-------------
pontyot tesz a vesszo helyere
Ez egy adatsor akar lenni?
Azert 600000 ponty osszekotve az elegge cifra is tud lenni ...
Az uj sort a gnuplot uj "adatszakadaskent" kezeli (megszakitja a vonalat)
A 250 az azert van, mert az ujsorok ...
Minden uj sor utan ujra kezdi (kvazi szmolja a sorokat, es az az x-ertek ...)\
szoval ha ~2400 250 ertekbol allo grafikont latsz ...
Ezt akarod?
k.
- A hozzászóláshoz be kell jelentkezni
A sed '/^$/d' csak totál üres sorra működik. És ha van benne szóköz? Akkor sed 's/^ *$/d' kellene. És ha tabulátor? ...
Én inkább grep "[0-9]" -cel szűrném a releváns sorokat.
A sorok elé nem kell számot tenned, mert ezt magától beteszi a gnuplot (az aktuális sor számát használva).
- A hozzászóláshoz be kell jelentkezni
az info meg eltunt ...
bocs
sed "s/\r$//" szelmeres | sed "s/,/./"
------------
kiszedi az ures sorokat
-------------
pontyot tesz a vesszo helyere
Ez egy adatsor akar lenni?
Azert 600000 ponty osszekotve az elegge cifra is tud lenni ...
Az uj sort a gnuplot uj "adatszakadaskent" kezeli (megszakitja a vonalat)
A 250 az azert van, mert az ujsorok ...
Minden uj sor utan ujra kezdi (kvazi szmolja a sorokat, es az az x-ertek ...)\
szoval ha ~2400 250 ertekbol allo grafikont latsz ...
Ezt akarod?
k.
- A hozzászóláshoz be kell jelentkezni
Szoval amit latsz az jo ... az az ami a file-ban van ...
Van egy gany megoldasom arra az esetre, ha az egeszet egyben akarod latni:
plot '< grep -n "" szelmeres | sed "s/\r$/www/" | sed "s/:/ /" | sed "s/,/./"' u 1:2
remelem megjelenik ...
Ezt idezojel nelkul a gnupl;ot parancssoraba ...
Majdnem jo megoldas, de hat most csak ilyen jut eszembe ...
k.
- A hozzászóláshoz be kell jelentkezni
Annó futottam én is ilyen "falba" (Véltlenül nem Kun Ferencnél írsz diplomamunkát Debrecenben), na mindegy. Én nem megoldottam a problémát, hanem megkerültem. Először ábrázoltam 1-150-ig..... Ha sorban vannak az x-y kordináták akkor ez simán egy ciklus, ha nem akkor kell írnod egy rendezést. Ez utóbbit tettem én is C-ben mgírtam a rendezést, (pár sor) utána gnuplottal ábrázoltam a tartományokat, png-képkimenetet kapott a gnuplot, majd gimppel öszehegesztettem őket szalaggá. Valahol meg is van a kép. 6XXX*2XX alakú (abszolút az aranmeccés esztéétikájának megfelelő kép :D).
- A hozzászóláshoz be kell jelentkezni
Nos, kicsit favágós módszer, de most működik. A következő történt:
Gediben megnyitottam, kimásoltam azt a 3 üres sort, majd a "Cseré"-vel kitöröltem őket. Így most egész értelmes és elfogadható diagrammot kaptam. Ez bőven megfelel nekem. Köszönöm a segítő tanácsot mindenkinek!
- A hozzászóláshoz be kell jelentkezni