我编写了一个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脚本中使用它时,这会好得多。
非常感谢
附注:我只使用xmgrace,因为它是我最熟悉的手动使用的绘图工具。我欢迎关于为这项任务提供更适当工具的任何建议。
发布于 2015-01-30 12:57:14
是的,在没有GUI的情况下调用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相同,但在批处理模式下运行(没有xmgrace):
gracebat -nosafe data.dat -batch script.bat
哪里
-batch <script>告诉grace要查找和执行脚本文件(不要告诉grace要在批处理模式下运行!)
-nosafe重写默认的安全模式,该模式应该停止文件修改。如果没有它,您将看到一条错误消息(尽管在我的示例中,绘图文件仍被写入)。
https://stackoverflow.com/questions/24411095
复制相似问题