Mam dane w niektórych plikach tekstowych, które powiedzmy 10000 wierszy i 2 kolumny. Wiem, że mogę go łatwo wykreślić przez plot "filename.txt" using 1:2 with lines
. To, czego chcę, to jednak tylko kreślenie, powiedzmy, wierszy od 1000 do 2000 lub jakiejkolwiek innej rozsądnej selekcji. Czy można to łatwo zrobić? Z góry bardzo dziękuję.Gnuplot wykreśla dane z pliku do pewnego wiersza
Odpowiedz
Prostsze:
plot "<(sed -n '1000,2000p' filename.txt)" using 1:2 with lines
Wydaje się, że "every" command w gnuplot jest to, czego szukasz:
plot "filename.txt" every ::1000::2000 using 1:2 with lines
Alternatywnie, wstępnie proces plik, aby wybrać wiersze, w którym jesteś zainteresowany. Na przykład za pomocą awk:
awk "NR>=1000 && NR<=2000" filename.txt > processed.txt
Następnie użyj wynikowy „processed.txt” w istniejącym gnuplot poleceń/skryptu.
Jeśli jesteś na linux lub mac osx, powinieneś już mieć awk (jest to część standardowego zestawu narzędzi * nix, np. sed i grep). Zacznę od uruchomienia powyższego polecenia jako etapu wstępnego przetwarzania (przed uruchomieniem gnuplot), który utworzy nowy plik danych "przetworzony.txt", pozostawiając istniejący plik bez szwanku. Powinieneś wtedy użyć "processed.txt" zamiast "filename.txt" w swoich poleceniach kreślenia. Podręcznik dla awk można znaleźć tutaj: http://www.gnu.org/software/gawk/manual/gawk.html –
+1 dla natywnego rozwiązania gnuplot – Pankrates
Polecam kilka narzędzi wiersza poleceń jak sed
, grep
lub bash
. W przykładzie
head -n 2000 ./file.data > temp.data
i
tail -n 1000 temp.data > temp2.data
może działać. Ale nie testowałem, jeśli takie duże liczby działają z głową i ogonem.
Prawdopodobnie można wyciąć polegania na narzędzie zewnętrznego (jeśli system nie mają je zainstalowane na przykład) za pomocą pseudo-kolumnę 0.
widzieć help plot datafile using pseudocolumn
Spróbuj czegoś takiego:
LINEMIN=1000
LINEMAX=2000
#create a function that accepts linenumber as first arg
#an returns second arg if linenumber in the given range.
InRange(x,y)=((x>=LINEMIN) ? ((x<=LINEMAX) ? y:1/0) : 1/0)
plot "filename.txt" using (InRange($0,$1)):2 with lines
(testowane na Gnuplot 4.4.2, Linux)
Gnuplot ignoruje wartości Nan. Działa to dla mnie dla określonego zakresu współrzędnej x. Nie wiem, jak określić zakres wierszy.
cutoff(c1,c2,xmin,xmax) = (c1>=xmin)*(c1<=xmax) ? c2 : NaN
plot "data.txt" u 1:(cutoff(($1),($2),1000,2000))
- 1. dane wykresu rury do skryptu gnuplot
- 2. odczytać dane z pliku do końca wiersza w C/C++
- 3. Gnuplot: Najkrótszy sposób ignorowania pierwszego wiersza pliku danych
- 4. Jak dodać dane z gnuplot do istniejącego pliku bez overwiting zawartość wspomnianego pliku
- 5. PHP: Czytaj z pewnego punktu w pliku
- 6. gnuplot z errorbars kreślenia
- 7. git wróć do pewnego zatwierdzenia
- 8. zapisywanie wiersza polecenia do pliku
- 9. OpenGL wykreśla niepotrzebne krawędzie krawędzi
- 10. Odczytuj dane binarne (z pliku) do struktury
- 11. Zapisywanie puTTY ouput do pliku z wiersza poleceń
- 12. JQuery i JqGrid pobierają dane z wiersza
- 13. Wyślij dane wyjściowe do pliku
- 14. Gnuplot: Jak wykreślić każdą linię w pliku po pewnym pauzie
- 15. Nazywanie wpisu legendy w Gnuplot, podczas kreślenia z pliku danych
- 16. Git pull do pewnego zatwierdzenia (tag)
- 17. Usuń wiersz MySQL do pewnego momentu
- 18. gnuplot: wykreślenie pliku z 4 kolumnami na osi Y
- 19. Używanie Gnuplot do rysowania kolorów warunkowych warunkowo
- 20. Gnuplot, opis odległości do osi
- 21. Przecinki w etykietach gnuplot
- 22. zmienna Deklarowanie się z pewnego rodzaju
- 23. Jak uzyskać dane z wiersza siatki Ext JS
- 24. Logi wiersza poleceń systemu Windows do pliku
- 25. jak uzyskać dane z wybranego wiersza z datagridview
- 26. Przejdź do wiersza w edytorze Atom z wiersza poleceń
- 27. Dodaj ikonę do istniejącego pliku EXE z wiersza polecenia
- 28. Dlaczego Xgboost nie wykreśla moich drzew?
- 29. Dane wyjściowe sparsowanego potomnego wiersza procesowego node.js według wiersza
- 30. Dołączanie nowego wiersza do pliku (pliku dziennika) w języku C++
być może to pomoże ci też: http://stackoverflow.com/questions/6564561/gnuplot-conditional-plotting-plot-col-acol-b-if-col-cx –