2014-04-06 32 views
5

Mam plik danych oddzielony dwoma liniami. Każda sekcja danych wynosi ~ 50 linii. Próbuję zrobić plik .gif. Wiem, jak kreślić je pojedynczo lub w grupie, ale nie mogę sprawić, by GIF działał.Animacja GIF w Gnuplot

Mój problem jest podobny do tego opracowanego przez Glen MacLachlan w jego kanale youtube, część 5. Zamiast 1 punktu, mam ~ 50 punktów danych dla każdej sekcji danych. Rozwiązuje problem za pomocą funkcji $ index, a ja próbowałem zrobić to samo, ale moje nie działa.

Czego mi brakuje? Czy naprawdę muszę nanieść dane osobno na pliki .png i pogrupować je, aby uzyskać plik .gif?

Co zrobiłem :::

Edytowałem plik danych. Wcześniej były dwie kolumny x i y. Teraz mam je w 2. i 3. kolumnie, a pierwsza kolumna jest indeksem od 0 do 50. Każdy blok danych ma podobny indeks.

skrypt bash, aby utworzyć plik działka

for ((i=0;i < 50; i++)) do echo "plot 'data.txt' 
u 2:3 w circles index $i"; done >>simulate.plt 

To właśnie działki wszystkie punkty danych

Odpowiedz

9

Dlaczego nie pokazać, co próbowałeś?

Poniższa powinny działać prawidłowo:

set terminal gif animate delay 100 
set output 'foobar.gif' 
stats 'datafile' nooutput 
set xrange [-0.5:1.5] 
set yrange [-0.5:5.5] 

do for [i=1:int(STATS_blocks)] { 
    plot 'datafile' index (i-1) with circles 
} 

z plikiem datafile:

0 
1 


2 
3 


4 
5 

daje

enter image description here

+0

Dzięki. Daje mi błąd mówiąc, że zakres x jest nieprawidłowy. Próbowałem również "plik danych" 1: 2. Kiedy usunąłem część indeksu (i-1), wygenerował on plik, ale wszystkie dane narysował wiele razy. – Krishna

+0

Zaktualizowałem odpowiedź, aby podać pełny, działający przykład. Jeśli nadal nie działa, podaj link do pliku z danymi i minimalny, ale działający skrypt przykładowy, który pokazuje problem. – Christoph

+0

Wielkie dzięki. Nie jest doskonały, ale dostaję plik .gif, który "animuje". – Krishna