Наличие «автоматического» х - PullRequest
22 голосов
/ 12 марта 2012

Просто простой вопрос (я представляю), но допустим, у меня есть следующий файл данных:

# no x data, it's sampled for instance each second.
23 42 48 
49 89 33
39 44 97

Как (если возможно) я могу построить это так, как если бы это было

1 23 42 48 
2 49 89 33
3 39 44 97

используя 1,2,3, .. (первый столбец) в качестве x?

делает что-то вроде: plot "file.dat" using (lineNumber):3 например.

Ответы [ 3 ]

41 голосов
/ 14 марта 2012

Если вы не хотите полагаться на awk, gnuplot может сделать это также. См. help plot datafile using и help plot datafile using pseudocolumns. Попробуйте:

plot "file.dat" using (column(0)):3
15 голосов
/ 12 марта 2012

Например, для построения третьей строки файла данных:

plot "DATAFILE" u 3

или с awk:

plot "<awk '{print FNR,$0}' DATAFILE" u 1:4 

Обратите внимание, что в awk добавляются числа белья, поэтому первый столбец - это номер белья.

делает то же самое, gnuplot автоматически использует номер строки для оси x

2 голосов
/ 13 сентября 2017

Или, проще, вы также можете набрать: plot "file.dat" u ($0):3

Это позволит вам линейно изменять индексную переменную, как и в любом другом столбце

Например, масштабирование на 2 и добавление 1: plot "file.dat" u (($0)*2+1):3

...