2015-10-23 25 views
1

我有我想要把標籤從看起來像這樣如何跳過gnuplot中的重複標籤?

20151019,labela 
20151020,labela 
20151021,labela 
20151022,labelb 
20151023,labelb 

文件中的圖形,但我只是想,如果從以前的標籤的不同顯示的標籤。 (所以只在20151019和20151022上貼標籤)目前我必須預處理文件以刪除重複項。有沒有辦法在gnuplot中做到這一點?

回答

0

通常,預處理文件是最好的選擇。這也可以在即時完成的,像

plot '< script.sh file' ... 

因爲你可以使用這種預處理,gnuplot的有這樣的數據操作只提供有限的支持。

在你的情況下,你可以使用一個技巧:在一個字符串中註冊所有的標籤,由一些沒有出現在標籤中的字符分隔。然後你可以使用strstrt查找,如果一個標籤已經出現,否則跳過點:

set datafile separator ',' 
set timefmt '%Y%m%d' 
set xdata time 

s = '' 
known(c) = (strstrt(s, '@@'.strcol(c).'@@') > 0) 
plot 'file.dat' using (use = known(2), s = s . (use ? '@@'.strcol(2).'@@ ' : ''), use ? timecolumn(1) : 1/0):(0):2 with labels 

我不知道,這y座標你,所以我用0

+0

gnuplot的新手,我不知道從程序中運行腳本。所以對我來說,是'plot' vu1p3n0x

+0

這絕對是更好的選擇! – Christoph