Gnuplot через сценарий bash

Мне нужно сгенерировать графический gnuplot с помощью скрипта bash, потому что у меня есть несколько файлов для построения.

while [ $j -lt 30 ]; 
  do
    if [ -f ./MyFile[$j] ]; then 
    load 'Plot_Histogramma.plt'
    fi
j=$(( $j + 1 ))
done

внутри "Plot_Hisogramma.plt" у меня есть

set output "MyFile[$j].eps"
plot "./MyFile[$j]" using 2:1 title "MyTitle" with boxes ls 7 lc rgb "blue"

Поэтому мне нужен метод для передачи моей индексной переменной из скрипта в gnuplot. Я пробовал с echo, printf и экспортом, но, возможно, я делаю что-то не так.


person Ricky    schedule 21.04.2015    source источник
comment
Мне кажется, что вы хотите видеть MyFile[0].eps и т.д. в Plot_Hisogramma.plt. Это действительно имя файла? Мне это кажется немного необычным, у меня складывается впечатление, что вы можете говорить о переменной из bash, которая в bash выглядела бы как ${MyFile[0]}. Если это не так, забудьте, просто комментарий...   -  person jaromrax    schedule 21.04.2015
comment
Это нормально. Вы можете указать gnuplot писать в postscript, jpg, png и т. д. Он просто устанавливает формат для выходного файла (если он отличается от отображения)   -  person David C. Rankin    schedule 21.04.2015


Ответы (1)


Я думаю, вы можете неправильно указать массив:

while [ $j -lt 30 ]; do
    if [ -f ./${MyFile[$j]} ]; then 
    load 'Plot_Histogramma.plt'
    fi
j=$(( $j + 1 ))
done

А затем другой сценарий, который, как мне кажется, должен быть таким:

set output "${MyFile[$j]}.eps"
plot "./${MyFile[$j]}" using 2:1 title "MyTitle" with boxes ls 7 lc rgb "blue"

Также может помочь эта ссылка: bash: загрузка предварительно сохраненной переменной в gnuplot cmd load< /а>

person olopopo    schedule 21.04.2015