【问题标题】:How to plot line in xmgrace using Bash or shell script如何使用 Bash 或 shell 脚本在 xmgrace 中绘制线
【发布时间】:2020-02-25 11:48:50
【问题描述】:

我想使用脚本在 xmgrace 中的特定点(比如 2.2)绘制一条垂直虚线红线

【问题讨论】:

    标签: bash shell xmgrace


    【解决方案1】:

    您可以使用pygrace 等外部工具,也可以使用grace 的内置批处理功能。之前在 SO 上已经提到过这些(例如,参见 herehere)。

    以下脚本将一个数据文件 (exp.dat) 绘制为空圆圈,将另一个数据文件 (line.dat) 绘制为红色虚线,并设置两个轴的范围、标签和主要刻度:

    READ NXY "exp.dat"
    READ NXY "line.dat"
    
    WORLD XMIN 0
    WORLD XMAX 5
    WORLD YMIN 1
    WORLD YMAX 5
    xaxis label "My x label"
    xaxis tick major 1
    yaxis label "My y label"
    yaxis tick major 1
    
    s0 line type 0
    s0 symbol 1
    s0 symbol size 1.5
    
    s1 linestyle 2
    s1 color 2
    

    要生成一条穿过2.2的垂直红色虚线line.dat的内容应该是这样的

    2.2 0
    2.2 10000
    

    您可以使用以下命令在 bash 脚本中生成这样的文件:

    echo "2.2 0\n2.2 10000" > line.dat
    

    将脚本保存为mybatch.xmg 并像这样调用它:

    xmgrace -batch mybatch.xmg
    

    如果你想直接生成一个输出,你可以添加这个指令:

    PRINT TO "myplot.eps"
    DEVICE "EPS" OP "level2"
    PRINT
    

    这会将您的情节保存为myplot.eps(在调用xmgrace 时添加-nosafe 以消除警告)。

    【讨论】:

    • 谢谢,但我只有一个文件,垂直红色虚线未绘制。主要问题是我想在我的图表中绘制 some 虚线。除了虚线之外,还需要相同的颜色(黑色)数据。
    • 不清楚你在问什么。我认为我的回答解决了你的问题,现在写的。我已经添加了一行关于如何在 bash 脚本中自动生成 line.dat 文件(如果这是您所要求的)。
    猜你喜欢
    • 1970-01-01
    • 2017-04-25
    • 2019-11-21
    • 2013-07-10
    • 2018-04-17
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多