Переменная i
в [i in columns]
на самом деле является строкой.Итак, преобразуйте его в целое число с помощью int(i)
.
. Если вы хотите построить столбец, определенный целочисленной переменной, используйте ... using (column(i))...
.
Итак, в сочетании:
Код:
### plot column numbers from a sequence in a string
reset session
set key top left
$Data <<EOD
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
EOD
columns="2 3 5 1 4"
plot for [i in columns] $Data using 1:(column(int(i))) w lp title sprintf("Column %s",i)
### end of code
В вашем случае удалите блок данных $Data <<EOD ... EOD
и в команде plot замените $Data
на "mydata.dat"
Результат: