Я плохо знаком с gnuplot, и я обеспокоен мимоходом мой аргумент много, теперь у меня есть этот простой сценарий удара и gnuplot сценарий.
в сценарии удара plot.sh
Я должен изменить свой файл, затем отправляют его в gnuplot сценарий, который будет напечатан, ИЛИ я могу изменить свой файл и просто отправить параметр (число передало из другого сценария 1$) к gnuplot сценарию, который определяет, какой файл быть напечатанной, проблема не имеет ни один этих двух путей, работает, я, кажется, не разбираюсь в нем! какая-либо справка?
вот мой сценарий удара plot.sh
#!/bin/bash
sed -i 's/ns/;/g' /dev/shm/waitingTime$1.txt
gnuplot -e "filename='/dev/shm/waitingTime$1'" file.gnuplot
И вот мой gnuplot сценарий, названный file.gnuplot
#!/home/yas/file.gnuplot
set xlabel "start"
set ylabel "Delay"
set autoscale
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "red"
plot<"filename"> using 1:2 w points title "tests"
set terminal postscript portrait enhanced mono dashed lw 1 'Helvetica' 14
set output '/dev/shm/TT.pdf'
pause -1
конец file.gnuplot
Если я понимаю правильно, Вы хотите, чтобы график обнаружился на дисплее, и тогда имеют копию в файле /dev/shm/TT.pdf
.
PDF, я вижу две проблемы здесь:
инструкция для графика---Вы храните имя файла в filename
, таким образом, ypu должен просто сказать
plot filename using 1:2 w points title "tests"
без <"
... вещи.
, Если Вы хотите файл PDF, необходимо добавить replot
после изменения терминального и выходного файла (двойная проверка, которую можно записать в целевом каталоге).
я создал файл data.dat
и файл file.gnuplot
:
set xlabel "start"
set ylabel "Delay"
set autoscale
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "red"
plot filename using 1:2 w points title "tests"
set terminal postscript portrait enhanced mono dashed lw 1 'Helvetica' 14
set output 'TT.pdf'
replot
pause -1
И вызов его с:
gnuplot -e "filename='data.dat'" file.gnuplot
у меня есть вывод:
... и соответствие TT.pdf
файл.
Между прочим, вместо pause
в конце, я нахожу намного лучше, чтобы добавить
set terminal wxt persist
в запуске и удалить паузу. Сценарий закончится естественно, и окно с графиком останется помещенным, пока Вы не отклоните его.