Открытие gnuplot использование файла сценария удара и затем графическое изображение файла CSV

Я плохо знаком с gnuplot и сценариями и наличием проблемы, выводящей файл CSV на печать.

Я пытаюсь иметь пользователя, который имеет файл CSV, имеют способность вывести столбцы на печать его выбора с помощью gnuplot. Это - то, что я имею до сих пор:

echo "Welcome Let's get started"
echo "Lets get started with the data set"
echo "How many x-value data sets will be used in the plot?"
read totxvalues #For now we are starting with one data set
echo "What Column in the Data file will be the xvalue?"
read xcolumn
echo "What column in the Data set will be the yvalue?"
read ycolumn
echo "Name of xlabel"
read xlabel
echo "Name of ylabel"
read ylabel
echo "Name of Graph"
read graphTitle

for FILE in "example.csv"*; do
gnuplot
set datafile separator ","
set xlabel "xlabel"
set ylabel "ylabel"
set title "graphTitle"
plot "$FILE" using $($xcolumn):$($ycolumn)
EOF
done 

Я в настоящее время запускаю этот скрипт, и он переходит к сути дела, где он открывает gnuplot, но он не вводит переменные что вводимый пользователь.

Действительно ли это - лучший подход к открытию gnuplot и наличию вводов данных пользователем быть напечатанным? Данные, которые будут проанализированы, будут иметь много столбцов данных, и вот почему я только хочу выбрать пару за один раз.

-1
задан 8 June 2018 в 11:50

1 ответ

Основным вопросом является уродливый здесь-документ: это должно быть похожим

gnuplot << EOF
commands
EOF

Кроме того, если Вы хотите свои графики сохраниться на экране (использующий значение по умолчанию gnuplot терминальный тип) затем, Вы, вероятно, хотите добавить -p (персистентная) опция.

Я не распознаю синтаксис $($xcolumn):$($ycolumn) то, что Вы использовали: Я подозреваю, что это должно просто быть $xcolumn:$ycolumn

Наконец я подозреваю, что Вы, вероятно, хотите шарик оболочки больше как *.csv чем "example.csv"*.

Так:

for FILE in *.csv; do
gnuplot -p << EOF
set datafile separator ","
set xlabel "xlabel"
set ylabel "ylabel"
set title "graphTitle"
plot "$FILE" using $xcolumn:$ycolumn
EOF
done

Ваш сценарий должен также иметь соответствующую хижину наверху т.е. #!/bin/bash или #!/bin/sh

4
ответ дан 29 October 2019 в 04:11

Другие вопросы по тегам:

Похожие вопросы: