GROMACS教程:Xmgrace学习笔记

类别:    标签: gmx   阅读次数:   版权: (CC) BY-NC-SA

对于用惯Windows]的人, 在Linux下画图有点不方便, gnuplot虽然挺不错, 但是不能直接在图上进行操作, 这是它的不足吧. 为此, 简单介绍一下xmgrace.

安装

Linux系统

Linux下xmgrace可以直接用命令sudo apt-get install xmgrace来安装, 也可以下载软件包自己编译. 官网http://plasma-gate.weizmann.ac.il/Grace/.

这里有一个整理好的压缩包, 里面包含了xmgrace-5.1.25的源代码以及一些资料.

grace和xmgrace差不多, 具体区别自己看网上.

Windows系统

如果你想在Windows下使用xmgrace, 那就需要你自己编译, 编译的时候可以借助于CygWin, 但根据网上的说法, 编译过程难度较大, 一般不建议初学者尝试. 幸运的是, 有人基于QT开发了一个qtgrace, 与Linux下的xmgrace功能几乎一样, 建议你使用这个程序. 如果你不能在官网上下载qtgrace, 可以点击压缩卷压缩卷1下载我整理好的一个版本. 下载后直接解压就可以使用了. 我在Windows XP 32位和Windows 7 64位系统上测试过, 都可以正常使用.

你可以在命令行中像使用xmgrace那样使用qtgrace, 但不是很方便. 一个更好的方法是更改数据文件(主要是.xvg文件)的打开方式, 将其改为\qtgrace安装路径\bin\qtgrace.bat\qtgrace安装路径\bin\qtgrace.exe. 前者可以同时显示多列数据的图形, 而后者只能显示一列数据的图形. 建议你使用前者. 设置好打开方式后, 直接双击数据文件就可以看到数据图形了.

实际上, qtgrace.bat只不过是对qtgrace.exe进行了简单的封装, 指定了运行时使用-nxy选项而已. 如果你想使用自己的一些选项, 直接编辑qtgrace.bat即可.

qtgrace.bat
1
2
@echo off
qtgrace.exe -nxy %*

一些资源

几个网址:

  1. Discussions讨论区
  2. An Xmgrace Tutorial
  3. Grace Tutorials, 个人觉得这个是不错的
  4. Grace/Xmgrace (Xmgr)
  5. Grace User’s Guide

下载上面的grace-5.1.25后, Grace Tutorial教程实例文件在grace-5.1.25/doc下面(Tutorial.pdf也在). 还有一些做好的图例在grace-5.1.25/examples, 从那里可以看到xmgrace也是可以的. 下面是随便挑的几张, 图片的的字体都是用xmgrace加上去的.

本文档主要是学习Grace Tutorials的总结, 如有不对, 请指正.

基本操作

1. 简单画图:使用数据文件

可以在工作目录下打开终端, 输入xmgrace file.

如果数据文件里面是多列数据, 即X Y1 Y2…, 可以输入xmgrace -nxy file. 加上-nxy就可以是多条曲线了.

如果要对坐标轴取对数, 可以添加选项 -log x|y|xy, 如:xmgrace -log x -nxy file. (好像要放前面, 放后面会出错!)

2. 简单绘图:导入文件

也可以在终端只输入xmgrace, 不带文件名, 打开空白的xmgrace再自己导入. 点击菜单Data | Import | ASCIIfiles下拉框选择文件, 点一下OK就可以了.

注意, 好像只有扩展名为.dat的才显示, 而.xvg格式的不显示, 需要自己改一下扩展名. 还有就是, 如果文件路径有中文的话显示会出现乱码, 但仍然可以选择, 只要你确定哪个是你的文件.

3. 创建数据表格

也可以自己用表格创建绘图数据. 在终端输入xmgrace, 打开空白的xmgrace. 点击菜单Main | Edit/Data_sets...窗口, 在上面的空白框中, 一直右击按住出现菜单移动(右击还不要放开), 选creat newin spreadsheet(这里还有另外三个, 如编写公式输入, 你可以自己摸索或看手册)打开表格, 就可以输入x y点数值了.

4. 保存图像

画好了图片就保存, 点击File | print_setup, 在device选格式, 我常选png, 对不起的是好像没有tiff格式可选. 输入想要保存的名字, 点aceept退出窗口, 按一下快捷键ctrl+p就保存了. 其实也可以用File | print, 但最好记住快捷键. 看看目录内是否有图片文件.

xmgrace不像origin那样有什么工程文件, 它的设置不会自动保存, 所以你上一次对数据的操作是不会保存的. 这很麻烦. 所以如果我们以后还要对文件进行操作(如坐标轴, 曲线粗细不够的等问题), 很麻烦, 其他的设置要重新做一遍. 为避免这些麻烦, 就得保存设置. 点击菜单File | saveFile | save as. File | save直接把设置加入到你的数据文件开头, 自己操作完可以去看看. File | save as就是另存一份, 原数据文件开头添加设置. 如果开头保存有设置的话, 直接右击用xmgrace查看, 就可以看见你原来设置的图片. 你修改后, 重新File | save. 这样也有一些好处, 如果多个文件都是一样设置, 做好一个文件, 把设置保存到数据文件开头, 然后把它们复制到其他文件, 就搞定了, 然后再用xmgrace输出图片.

你可以去grace-5.1.25/exemple打开各个文件学习一下各种图是如何进行设置的.

5. 选择数据列

第一点说过如何使用-nxy选项绘制多列数据, 但如果只想用第1和第3列数据画图, 咋办? 可以使用xmgrace -block file.dat -bxy 1:3. 其中-bxy就是选1和3两列. 也可以在-nxy打开多条曲线后, 点击图上的曲线, 出现set appearance窗口, 在select set下, 选中不要的数据列, 长按右击移动选hide就可以了(数据列多的话, 就麻烦一些);

说到这里, 说一下对文件的数据处理, 看示例:

xmgrace -nosafe -nxy box.xvg -pexec "s0.y=(s0.y*s1.y)/64" -pexec "kill s1" -pexec "autoscale"

我的文件box.xvg中有三列数据, 时间帧、盒子x大小、盒子y大小, 计算膜表面的APL(area prea lipid)是用x*y/64. 用xmgrace怎么计算呢? 像上面那样用-pexec选项输入参数命令就可以了. 输出的图像就是x轴是时间, y轴是经过处理的得到的APL. 更具体的请看手册教程.

还是再说一些多列数据的情况. data | Import/ASCII选好dat文件后在中间那里看到load as了吧, 点一下选block data, 后点ok跳出来框框, x from column自己选y from column, 选好就可以. 如果都选1, 会是什么图像, 猜一下, xy都是一样的值, 当然是45度斜率的直线y=x. 那里可以选偏差条, 就是xydy, 自己摸索了.

6. 图像设置

数据选择操作说的差不多, 说一下图片的外观设置(也就是具体的坐标轴文字大小、间距、范围, 图片标题, 线条粗、细颜色等). 我们可以双击相应的地方(和origin类似, 自己体会)也可以菜单里选择plot | plot appearance.

说一下一些基本的操作:

图像的四个角可以拉大拉小的, 如果不合适自己调.

如果有多条曲线, 出现了图例与曲线重叠, 可以试试这样操作:拖动图例的方法, Ctrl+L单击, 就可以使箭头变手形, 拖动图例了. 如还不行, 双击再试试看可以了吗. 也可以在appearance更改.

记住set appearance要在窗口里面的select set位置选相应的s0 s1...., main标签下的Legend就是图例, 你可以给每条曲线标记不同名字以便区分.

还有需要说一下的画布左边的按钮, 就说一个吧, AS表示恢复(图片设置的外观不变的, 好). 所以你按钮按错了, 点它就行了.

如果用不同坐标刻度值时, 也就是跳跃很大, 如μs, ms, s, 在Axes(双击坐标轴就出来了)的窗口的tick properties框里面选Format, 里面好几种格式, 选Compute(K, M, G....)Engnieering, 这样就可以一个坐标轴多个单位了. 不用显示那么长的数字串.

7. 多图并列

有时候要一个画布放多张图, 打开菜单Edit | Arrange_graphs对话框, 填写需要几rows几columns, 点应用, 就出来四个小框了(假设2*2格式). 具体外观, 可以在刚才的框框里继续调节, 点击各个小框点击, 像前面的第2点那样选好文件进来就可以. 具体其他调节参看前面的6步骤操作.

也可以使用命令输入, 加上指令就可以了:

-pexec "arrange (2, 2, .1, .1, .1, ON, ON, ON)"

前面的两个2代表2*2排列, 加上-graph更好, 代表的是后面接的文件放在哪个位置, 从0开始数:

xmgrace -graph 2 10_rdf.xvg -graph 1 11.dat -graph 0 rdf01.dat -graph 3 rdf.dat -pexec "arrange(2,2,.1,.1,.1,ON,ON,ON )"

8. 内嵌图形

说实话, xmgrace做内嵌图像, 我也没懂, 希望会的人能介绍一下. 参考方法:

打开菜单Edit | overlay_graphs, 点中在overlay graphG0, 然后右击, 选creat new, 出现了另一个空数据集. 然后overlay graphon to, 反正个数据集就可以, 后点同意, 就两个图的, 当然看起来是一个, 自己点一下四周点移动, 就可以看见两个的, 只是重叠而已. 然后一个一个添加数据了. 刚才说了内嵌图形还记得吗, 这里也可以把其中一个图拉小移动作为一个内嵌图, 再修改一下需要显示的坐标范围. 具体靠自己去实践了.

9. 双y轴曲线

有时候我们需要同一图像两条不同y轴的曲线, 如例子:坐标x表示时间, 左边y轴代表压力, 右边y轴代表是温度. 注意调整坐标刻度, 在Axes窗口tick labeltick markdraw on, 一个选正常normal side, 一个选oppsite side相反, 就可以了. 对边的刻度就不要显示了.

10. 数据拟合

选项在data | tramsformation.

线性拟合

打开图像后

  1. 点击菜单DATA | TRANSFORMATION | REGRESSION
  2. 选择SET
  3. 选择LINEAR FIT
  4. 按下ACCEPTn
  5. 出来一个窗口显示拟合的直线方程表达式了. 如果需要斜率, 就自己记下方程. Save the information about the slope and intercept that appear in a blue console as slope.dat.

二次方程

点击DATA | TRANSFORMATION | INTERPOLATION/SPLINE

选择SET | METHOD | CUBIC SPLINE, START设为1, STOP设为10, LENGTH设为500或1000, 然后点击`ACCEPT.

非线性拟合

输入方程形式, 还要输入参数初始值.

附录: 图像文本设置

如果像gnuplot文件那样修改设置的话, 我们直接修改文本就可以了. 可以参考grace-5.1.25/exemple下的示例文件去学习, 吃透了就是xmgrace的高手了. 此外, qtgrace安装路径\bin\Default.agr文件控制图形的默认显示方式, 你可以根据自己的喜好来修改默认的设置. 下面是其中部分参数的意义.

颜色代码的意义

上面的这些在.xvg文件开头写出来给我们参考. 让我们明白这些数字代表什么颜色. 还有下面的字体格式部分

字体代码的意义:

最后还是说一句, 有些方法不懂话, 看看grace-5.1.25/examples下面的例子, 右击用grace打开, 看看人家的图的设置, 有你想要的效果吗, 仔细琢磨一下人家怎么设置的. 这是最好的学习方法, 比看教程好很多, 当然这是个人认为.

评论

随意赞赏

微信

支付宝
◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: 
后一篇: 

访问人次(2015年7月 9日起): | 最后更新: 2017-09-26 07:50:25 UTC | 版权所有 © 2008 - 2017 Jerkwin