【问题标题】:How to use batch script with xmgrace如何在 xmgrace 中使用批处理脚本
【发布时间】:2017-04-25 09:25:45
【问题描述】:

我正在尝试使用批处理脚本通过 xmgrace 绘制数据。但是,我在尝试查找有关如何执行此操作的文档时遇到了重大问题。我正在尝试制作一个面板图,其图表如下所示:

我在这样做时遇到了三件事:

1) 我希望能够为面板图中的每个图表指定 x 轴和 y 轴的限制(或者同时为所有图表指定更好的范围),但我还没有找到如何做这个。

2) 数据存储在两个不同文件的六列中。两个文件的 x 值都在第 1 列中。我希望能够使用与我使用的 gnuplot 类似的语法导入数据

使用 1:(2.0*$3) 绘制“file.dat”

将第 3 列与第 1 列作图,并将第 3 列中的值乘以 2.0。这里重要的是,我需要将其中一个文件中的一些列与 2.0 相乘,以便以易于理解的方式将它们与另一个文件的内容进行比较。我也更喜欢一种语法,我可以一次导入一个列,而不是使用

读取 NXY "file.dat"

它读取所有列,我必须 KILL 那些我不想要的。

3) 如何更改图表的尺寸?使用

更改画布的尺寸

页面大小宽度、高度

不改变图形的尺寸,或者改变但不填充画布。具有 4 x 2 图表的面板图的默认大小(这是我想要的)没有显示足够的细节。

我发现此页面有些帮助: http://ringo.ams.sunysb.edu/index.php/Xmgrace

但它不包含我需要做的所有事情的示例。

到目前为止,我的批处理脚本如下所示:

# 制作面板图
排列 (1,1,.1,.2,.5,ON,OFF,OFF)
# 选择第一个面板
FOCUS G0
# 我希望这条线可以让我更改轴限制,但它不起作用:
世界 0、-1、20、1
#每个文件有 6 列
#s0 到 s4
读取 NXY“file2.dat”
#s5 到 s9
读取 NXY "file1.dat"
s0 线条颜色 1
s1 线条颜色 2
s2 线条颜色 3
s3线色4
#s5 和 s6 需要乘以 2.0
s5线条颜色1
s5 线型 4
s6线色2
s6 线型 4
s7线色3
s7 线型 4
s8线色4
s8 线型 4
s9线色5
杀死 G0.s4
xaxis 标签“时间”
xaxis 刻度线正常
yaxis 标签“密度”
页大小 2500、2000

【问题讨论】:

    标签: plot xmgrace


    【解决方案1】:

    1) 要同时为所有图形指定 x 轴和 y 轴的范围,请使用以下命令。

    WORLD XMIN 0
    WORLD XMAX 20
    WORLD YMIN -2
    WORLD YMAX 2
    

    并可选择指定沿 x 轴的刻度(主要和次要)为

    XAXIS TICK MAJOR 0.5
    XAXIS TICK MINOR 0.25
    

    2) 一次导入一列的语法是

    READ BLOCK "file2.dat"
    BLOCK xy "1:2"
    BLOCK xy "1:3"
    BLOCK xy "1:4"
    BLOCK xy "1:5"
    READ BLOCK "file2.dat"
    BLOCK xy "1:2"
    BLOCK xy "1:3"
    BLOCK xy "1:4"
    BLOCK xy "1:5"
    BLOCK xy "1:6"
    

    要对特定列执行代数运算,例如将"file.dat"columns 232 相乘,可以使用

    s4.y = 2*s4.y
    s5.y = 2*s5.y
    

    请注意,在读入额外的数据块时,会创建具有递增后缀的更新集,例如 s0, s1, s2, ....。由于未读取file2.datcolumn 6,因此此处的集合相对于原始脚本的编号不同。

    3) 改变图表的维度(比如G0

    FOCUS G0;
    VIEW 0.15, 0.15, 0.15, 0.85
    

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 2013-07-30
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      相关资源
      最近更新 更多