Скрипт Bash, который строит данные с помощью инструмента XMGRACE

Я написал скрипт bash, который генерирует файлы, содержащие данные, и сохраняет их в каталоге. Я хотел бы, чтобы мой сценарий также печатал эти файлы, используя xmgrace.

Первоначально мне просто нужна командная строка или серия командных строк, которые создадут файл xmgrace, сохранят его, выберут шкалы оси y и x, зададим ось y как логарифмическую, обозначим оси x и y и назовем график,

Я попробовал линию, чтобы начать с

    xmgrace filename xaxis label "Label 1" yaxis label "Label 2" PRINT TO "filename.eps" DEVICE "EPS" OP "level2" 

Это наносит на карту данные, но не помещает метки на них или сохраняет их, и терминал возвращает

    Can't stat file xaxis
    Can't stat file label
    Can't stat file Label 1
    ...
    ... 

Есть ли также флаг, который я могу поставить в этой командной строке, чтобы xmgrace фактически не открывал файл, он просто создавал и сохранял его. Это было бы намного лучше, когда я использую его в Bash Script.

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

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

1 ответ

Решение

Да, можно вызвать xmgrace/Grace без графического интерфейса (используя gracebat), но команды, которые вы использовали, должны сначала находиться внутри файла сценария.

Содержимое файла "script.bat":

xaxis label "Label 1" 
yaxis label "Label 2" 
DEVICE "EPS" OP "level2"
PRINT TO "plot.eps"
PRINT

Теперь для файла данных с двумя столбцами "data.dat" вы вызываете исполняемый файл сестры с именем gracebat который так же, как xmgrace но работает в пакетном режиме (без графического интерфейса):

gracebat -nosafe data.dat -batch script.bat

где

-batch <script> говорит Грейс искать и выполнять файл скрипта (не говорит Грейс запускать в пакетном режиме!).

-nosafe переопределяет безопасный режим по умолчанию, который должен остановить изменения файла. Без этого вы бы увидели сообщение об ошибке (хотя в моем случае файл сюжета все еще был написан).

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