Я создал сценарий оболочки (.run), который принимает префикс для имен изображений в качестве параметра, а затем вызывает gnuplot. Однако по какой-то причине изображение не сохраняется. Код:Сценарий оболочки, передающий параметр gnuplot, не экспортирует диаграмму (epslatex)
#!/bin/sh
molecule=$1
echo "Plotting DFT-ADF PY results for $molecule"
echo "Tranmission plot (negatory SO)"
gnuplot -p << EOF
#!/usr/bin/gnuplot
set terminal epslatex size 5,3 color colortext
set output '$molecule_trans.tex'
plot cos(x) w l title 'cos(x)', sin(x) w l title 'sin(x)'
EOF
Для моей бакалаврской диссертации я должен сделать несколько сюжетов, которые являются одинаковыми. Кроме того, вычислительный кластер использует систему qeueing. Для того, чтобы быть верным этой системе, я создал несколько сценариев оболочки, которые автоматически делают вещи. В частности, около 45 симуляций вызывают сценарии оболочки, а затем сценарий оболочки, который входит в каждый каталог симуляций и использует файлы python для оценки данных в файлах [.dat]. Затем для создания графика следует использовать файл gnuplot. Я использую EPSLaTeX, чтобы делать мои рисунки, потому что это намного лучше. Однако в текущей реализации мне потребовалось вручную отредактировать различные латексные файлы, чтобы переименовать изображения.
Я только что определил, что файлы созданы. По-видимому, я сделал ошибку в сценарии оболочки таким образом, что файлы сохраняются как «.eps» и «.tex», которые (естественно) скрыты автоматически. Я отредактировал его так, что он использует $ 1 вместо $ молекулы, и он работает. Надеюсь, что кто-то еще найдет эту тему полезной. – Daimonie
Что касается других решений: все должно быть внутри одного файла? Вы можете, например, есть файл конфигурации для gnuplot, который загружается автоматически или который вы можете включить с помощью 'load 'settings.gp''. Затем вы можете передавать переменные через командную строку, например 'gnuplot -e 'var =' $ var '" general_script.gp'. – Christoph