首页 文章

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

提问于
浏览
1

我正在尝试使用批处理脚本使用xmgrace绘制数据 . 但是,我在尝试查找有关如何执行此操作的文档时遇到了重大问题 . 我正在尝试制作一个面板图,图形看起来像这样:

enter image description here

这样做有三件事我有问题:

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

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

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

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

READ NXY“file.dat”

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

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

PAGE SIZE宽度,高度

不会更改图形的尺寸,也不会改变图形的尺寸 . 具有4乘2图表的面板图的默认大小(这是我想要的)没有显示足够的细节 .

我发现这个页面有点帮助:http://ringo.ams.sunysb.edu/index.php/Xmgrace

但它不包含我需要做的所有事情的例子 .

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

#制作一个面板图排列(1,1,.1,.2,.5,ON,OFF,OFF)#选择第一个面板FOCUS G0#我希望这条线允许我改变轴限制,但是它不工作:世界0,-1,20,1 #ee文件有6列#s0到s4 READ NXY“file2.dat”#s5到s9 READ NXY“file1.dat”s0线颜色1 s1线颜色2 s2线色3 s3线色4#s5和s6需要乘以2.0 s5线色1 s5 linestyle 4 s6线色2 s6 linestyle 4 s7线色3 s7 linestyle 4 s8线色4 s8 linestyle 4 s9线色5 KILL G0.s4 xaxis标签“time”xaxis tick place normal yaxis label“density”PAGE SIZE 2500,2000

1 回答

  • 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"
    

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

    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
    

相关问题