我在一些文本文件中有數據,它有10000行和2列。我知道我可以通過plot "filename.txt" using 1:2 with lines
輕鬆地繪製它。我想要的只是繪圖,讓我們說從1000到2000行或任何其他合理的選擇。有沒有可能輕鬆做到這一點?非常感謝你提前。Gnuplot從一個文件繪製數據直到某一行
回答
看來,gnuplot的將"every" command是你在找什麼:
plot "filename.txt" every ::1000::2000 using 1:2 with lines
另外,前處理文件來選擇你感興趣的行。例如,使用AWK:
awk "NR>=1000 && NR<=2000" filename.txt > processed.txt
然後在你現有的gnuplot命令/腳本中使用所產生的 「processed.txt」。
如果您在linux或者mac osx,你應該已經有awk了(它是標準* nix工具集的一部分,比如sed和grep)。我將首先運行上述命令作爲預處理步驟(在啓動gnuplot之前),它將創建一個新的數據文件「processed.txt」,同時保留現有文件不受傷害。您應該在繪圖命令中使用「processed.txt」來代替「filename.txt」。 awk的手冊可以在這裏找到:http://www.gnu.org/software/gawk/manual/gawk.html – 2012-03-02 16:44:08
+1本地gnuplot解決方案 – Pankrates 2014-06-14 19:42:12
我會推薦一些命令行工具,如sed
,grep
或bash
。在您的例子
head -n 2000 ./file.data > temp.data
和
tail -n 1000 temp.data > temp2.data
可能會奏效。但是還沒有測試過這麼多的數字是在頭部還是尾部工作。
你或許可以切出的外部工具的依賴,使用僞列0
看到help plot datafile using pseudocolumn
試着這麼做(如果你的系統沒有安裝它們爲例):
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
(上的Gnuplot 4.4.2測試和Linux)
的Gnuplot忽略NaN值。這適用於我在x座標的指定範圍內。不知道如何指定行範圍。
cutoff(c1,c2,xmin,xmax) = (c1>=xmin)*(c1<=xmax) ? c2 : NaN
plot "data.txt" u 1:(cutoff(($1),($2),1000,2000))
- 1. gnuplot的繪製垂直從文件
- 2. 用gnuplot動態繪製一個易變的數據文件
- 3. 在Gnuplot中繪製垂直線來表示一維數據
- 4. Gnuplot:從數據文件繪圖
- 5. Gnuplot將多個數據文件的域限制在一個繪圖上
- 6. Gnuplot:繪製一個數據文件中多個對象的軌跡
- 7. Gnuplot - 在一個圖中繪製多個文件
- 8. 使用GNUplot按行繪製.csv數據
- 9. gnuplot繪製一列與整數數字
- 10. 從GNUplot中的文件繪製常量
- 11. gnuplot在同一個文件中繪製的列
- 12. GNUPLOT:繪圖數據,如果某些條件得到滿足
- 13. Java從一個文件複製到另一個文件,一行一行,間隔
- 14. gnuplot根據數據文件的第四列繪製顏色
- 15. gnuplot從兩個文件繪製數據:在一個x座標中,在其他y中
- 16. 從一個座標和一個角度繪製一條直線
- 17. 從文本文件的某一行讀取一個數字
- 18. Gnuplot - 根據行上的值繪製csv文件
- 19. 將數據從一個現有行復制到另一個行
- 20. 如何在gnuplot中繪製垂直線?
- 21. 使用gnuplot繪製詞頻直方圖
- 22. Gnuplot:繪製多個數據與多個擬合在一個陰謀
- 23. 使用gnuplot從多個文件繪製曲線
- 24. 將某個文本從一個div複製到另一個div
- 25. 使用條件繪圖繪製扇區切割數據(Gnuplot)
- 26. 從另一個文件中指定的文件中繪製數據
- 27. Gnuplot:只繪製最終數據集
- 28. 在gnuplot中繪製音頻數據
- 29. Gnuplot:第0行:函數繪製預期
- 30. 如何用gnuplot繪製一個隱函數f(x,y,z)= 0?
也許這也可以幫助你: http://stackoverflow.com/questions/6564561/gnuplot-conditional-plotting-plot-col-acol-b-if-col-cx – 2016-11-07 23:27:11