2016-04-07 2 views
0

в моем скрипте Я пытаюсь напечатать два набора точек - один из них будет где-то посередине, а другой будет поверх терминала gnuplot. Я использую это для цикла в два раза, чтобы сделать это:Gnuplot - подключить точки, связанные с bash script

for ((i=1;i<=LINES;i++)) 
do 
    { 
     cat <<-PLOT 
      set terminal png 
      set output "$(printf "$FMT" $i)" 
      plot [0:$LINES][$YRANGE1:$YRANGE2] '-' with lines t '' 
      PLOT 
     head -n $i "${TMPDIR}/bigdata" 
    } | gnuplot 
done 

Но когда я это сделать, как это точки просто продолжайте за YRANGE2 - Я хочу, чтобы начать все с начала. Как мне это сделать ? Файл выглядит следующим образом:

100.285 
100.404 
100.708 
100.199 
.... 
130.628 
130.865 
130.186 
130.659 

Кроме того, я попытался добавить номера строк в AWK, но тогда я не мог напечатать его с началом цикла у меня есть плакат раньше - я попытался appendeding using 2:1, но это просто не работает. Любые подсказки, пожалуйста?

Большое спасибо

+2

Это, вероятно, очень ясно, что вы хотите, но если вы не опубликуете свой желаемый результат, мы не узнаем. – karakfa

+1

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

+1

Кстати, вы действительно должны прочитать http://unix.stackexchange.com/questions/169716/why-is-using-a-shell-loop-to-process-text-considered-bad-practice, чтобы вы могли уйти от всех это вздор. –

ответ

-1

благодарит всех за их замечания, решение было действительно использовать AWK, чтобы добавить второй столбец, а затем отредактировать для цикла, как это:

for ((i=1;i<=LINES;i++)) 
do 
    { 
     cat <<-PLOT 
      set terminal png 
      set output "$(printf "$FMT" $i)" 
      set xrange [0:$LINES] 
      set yrange [$YRANGE1:$YRANGE2] 
      plot '-' using 2:1 with lines t '' 
      PLOT 
     head -n $i "${TMPDIR}/bigdata" 
    } | gnuplot 
done 
Смежные вопросы