Создать точечный график
Файл (1. arg) создаст (точечный график) для n. столбец (ось x, 2. arg) и m. столбец (ось Y, 3. arg)
функция называется myfun sourcefile 1 3 для точечной диаграммы 1. и 3. столбца из файла sourcefile.
#!/bin/bash/gnuplot
myfun(){
plot "$1" using $2:$3
}
myfun sourcefile 1 3
В gnuplot> plot sourcefile использование 1:3 работает отлично. Я хочу, чтобы он работал внутри функции. Как?
2 ответа
Я бы предложил использовать здесь документ оболочки в этом случае
#!/bin/bash
function myfun {
cat << EOF | gnuplot -p
plot "$1" using $2:$3
EOF
}
затем
myfun sourcefile 1 3
Я действительно не знаю, что это за сценарий. Где вы его нашли? .../bash/gnuplot
кажется, что кто-то действительно запутался.
Но если у вас есть файл с данными, назовите его sourcefile
со структурой
whatever x-data y-data
whatever x-data y-data
whatever x-data y-data
Вы можете получить график рассеяния столбца 3 против ввода столбца 2 gnuplot
и в командной строке:
plot "sourcefile" using 2:3
(Хотя ваш сценарий, кажется, делает plot "sourcefile" using 1:3
в отличие от вашего описания и без кавычек, что является синтаксической ошибкой в gnuplot, если sourcefile
переменная, содержащая имя файла).
Я рекомендую вам прочитать http://people.duke.edu/~hpgavin/gnuplot.html