Plot 如何在xmgrace中使用批处理脚本

Plot 如何在xmgrace中使用批处理脚本,plot,xmgrace,Plot,Xmgrace,我正在尝试使用批处理脚本用xmgrace绘制数据。然而,我在试图找到关于如何做到这一点的文档时遇到了重大问题。我正在尝试生成一个面板图,其中的图形如下所示: 在这样做的过程中,我遇到了三个问题: 1) 我希望能够为面板图中的每个图形指定x轴和y轴的限制(或者同时为所有图形指定更好的限制),但我还没有找到如何做到这一点 2) 数据存储在两个不同文件的六列中。两个文件的x值都在第1列中。我希望能够使用与我将使用的gnuplot中类似的语法导入数据 使用1:(2.0*$3)打印“file.dat”

我正在尝试使用批处理脚本用xmgrace绘制数据。然而,我在试图找到关于如何做到这一点的文档时遇到了重大问题。我正在尝试生成一个面板图,其中的图形如下所示:

在这样做的过程中,我遇到了三个问题:

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

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

使用1:(2.0*$3)打印“file.dat”

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

读取NXY“file.dat”

它读取所有列,我必须杀死我不想要的列

3) 如何更改图形的尺寸?使用更改画布的尺寸

页面大小、宽度、高度

不更改图形的尺寸,或者更改但不填充画布。带有4×2图形的面板图的默认大小(这是我想要的)显示的细节不够详细

我发现这一页有些帮助:

但它并没有包含我需要做的所有事情的例子

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

#绘制面板图
排列(1,1,1,2,5,开,关,关)
#选择了第一个面板
焦点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

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”
列2
3
2
相乘,可以使用

s4.y = 2*s4.y
s5.y = 2*s5.y
请注意,当读取额外的数据块时,将创建具有增量后缀的较新集合,例如
s0、s1、s2,…。
。由于未读取
file2.dat
第6列
,因此相对于原始脚本,此处对集合进行了不同的编号

3) 更改图形的尺寸(例如
G0

FOCUS G0;
VIEW 0.15, 0.15, 0.15, 0.85