如果您的數據是如圖所示的一行,您可以使用圖的語法循環遍歷列索引並計算該索引的x值來實現此目的。我們可以通過使用檢索指定列號的列函數來獲取列。
set boxwidth 1
set datafile separator comma # only if data is comma separated
plot for [i=1:5] (2*i-1):(column(i)) with boxes
如果我們需要確保每次都使用相同的線型,我們可以在繪圖命令中明確指出它。
plot for [i=1:5] (2*i-1):(column(i)) with boxes lt 1
此外,如果關鍵是要產生的,我們不希望每個小區語句來生成一個,我們可以測試並只給第一個迭代非空的標題(一個空的標題被視爲與無標題相同)。
plot for [i=1:5] (2*i-1):(column(i)) with boxes lt 1 title (i==1)?"Title":""
如果數據被分離爲行作爲是正常格式,這可以得到不同的方式。
gnuplot有幾個poududucolumns(詳見help pseudocolumns
)。在你的情況下,第0列是有趣的。列0給出從0開始的數據的行號。因此,要獲得像這樣的順序奇數,可以使用2*$0+1
。
例如,如果你的數據(存儲在datafile.txt)看起來像
3342336
3375103
7110653
32770
0
,您要在這些值繪製長度爲1盒,你可以做
set boxwidth 1
plot "datafile.txt" u (2*$0+1):1 with boxes
數據應該是多行,還是真的格式化爲一個逗號分隔的行? – Matthew