Преобразовать строку в целое число в gnuplot - PullRequest
0 голосов
/ 30 июня 2019

Как gnuplot преобразует строку в целое число

Интересно, существует ли простой способ преобразования строки в целое число?Например, я хочу, чтобы strtointeger ("2") возвращал целое число 2.

columns = "2 3"

сюжет для [i in columns] "mydata.dat«используя 1: strtointeger (i)

1 Ответ

2 голосов
/ 30 июня 2019

Переменная 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"

Результат:

enter image description here

...