Построение данных с помощью gnuplot - PullRequest
0 голосов
/ 10 марта 2020

У меня есть 3 столбца и 1000 строк целых чисел в файле .dat, и я должен построить его на графике так, как первый столбец находится на осях x, а sqrt (c2² + c3²) на осях y где c2 из второго столбца, а c3 из третьего столбца, используя скрипт gnuplot.

Обычно я использую что-то вроде plot <somefile.dat> using 1:2, но теперь мне нужно использовать второй и третий столбец как-то так using 1:sqrt(2²+3²).

1 Ответ

3 голосов
/ 10 марта 2020

Чтобы построить уравнения из значений столбцов из вашего файла данных, gnuplot обеспечивает группировку в скобках, например, (your equation here). Чтобы определить ваше уравнение в скобках, вы обращаетесь к желаемому значению столбца, ставя перед номером столбца '$' (например, $2 относится к значению из столбца 2, $3 относится к значению из столбца 3, et c ..) и вы можете использовать эти ссылки столько раз, сколько необходимо в скобках, и каждое использование будет заменено значением из пронумерованного столбца.

В вашем случае первый столбец будет ваши независимые x-значения и ваше уравнение приводят к зависимому значению, рисуя числа из столбцов 2 и 3, вы можете сделать:

plot "somefile.dat" using 1:(sqrt($2*$2+$3*$3))

Короткий пример с входной файл:

$ cat somefile.dat
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
10 10 10

Создание файла короткого графика для удобства:

$ cat some.plt
plot "somefile.dat" using 1:(sqrt($2*$2+$3*$3))

Вы можете создать свой график с помощью

$ gnuplot -p some.plt

enter image description here

Посмотрите вещи и дайте мне знать, если это то, что вам нужно.

...