计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2750|回复 Reply: 5
打印 Print 上一主题 Last thread 下一主题 Next thread

[辅助/分析程序] PlotEne.py:优雅地绘制能量折线图

[复制链接 Copy URL]

170

帖子

2

威望

1734

eV
积分
1944

Level 5 (御坂)

本帖最后由 Kalinite 于 2023-5-23 11:16 编辑

绘制能量折线图的方法很多,常见的如sob-Origin法[1]、ChemDraw尺量法[2]、ChemDraw进阶法[3]等。
由于Origin是最常用的作图软件之一,且新版的Origin有更多不为人知的功能,此处在sob-Origin的基础上进行一个升级,使大家可以更优雅地绘制能量折线图。脚本可在文末下载。

[1] 在Origin中绘制能量折线图的方法 http://sobereva.com/320
[2] 乐子:用尺量屏幕确定横线的高度
[3] https://github.com/wongzit/EnePro

下面讲解该脚本的用法,笔者使用的是Origin 2021版本。

1. 准备输入文件
默认是ene.txt。本例的输入文件如下:

gap 1 # 两个中间体/过渡态横线之间的间隔
length 1 # 横线的长度
0 43.4 3.3 28.2 -6.4 42.3 0.4 43 11.9 70.3 -0.3 9.2 -21.6 color 100 100 100 width 4 2 # 主反应能量折线
add 8 19.3 9 4.8 color 150 150 150 width 4 2 # 副反应能量折线
add start 8 9 -12.6 end 13 color 200 200 200 width 4 2 # 次要路径反应能量折线

大小写和顺序均不敏感。
主反应能量折线的语法如下:首先罗列所有中间体/过渡态的能量数据,用空格分隔;color引导三个数字,分别指定该曲线的RGB数值;width引导两个数值,分别指定横线和连接线的宽度(默认连接线使用Origin中的short dot样式)。color和width的先后顺序可颠倒,也可缺省,默认为黑色和宽度均为1。
副反应/次要路径能量折线的语法如下:以add开头,start引导1个数字,指定副反应/次要路径从主反应的第几个能量点处产生分支,同理,end及其引导的一个数字指定副反应/次要路径回到主反应的第几个能量点处。对于副反应,可能不回到主反应的折线上,或者作图时不希望从主反应的能量点引出,因此start和end都是可以缺省的。用下划线划出的每组两个数字,第一个表示该能量点和主反应中的第几个能量点对齐,第二个数字为其能量值。

2. 运行程序:python plotene.py [ene.txt]
需要Python3(查看版本:python --version),[ene.txt]指的是如果输入文件为ene.txt,可以缺省,不是要加方括号的意思!
本例会产生三个文本文件,依次是plot0.txt、plot1.txt和plot2.txt,分别对于上面的三条反应路径。

3. 绘图
打开Origin,新建三个workbook,分别将上述三个文件拖进workbook中,可以看到有5列数据用于作图,依次为横坐标、能量、折线风格、折线宽度和折线颜色。
点击Plot -> Line,选择Book1,标记X和Y分别为Col. A和Col. B,Add;如是添加三条折线。点击OK,应看到如下图片。



双击图例,在Plot Properties界面设置Style从Col(C) "LinTp"读取,Width从Col(D) "LinWdt"读取,在Color下拉菜单中选择By Points -> Direct RGB -> Col(E) "Color"。如是对三条能量折线进行设置。点击Apply,大功告成。是否需要坐标轴、坐标轴样式、图片横纵比,以及横线上的标签可另外进行设置,这属于基本的Origin操作,此处不再赘述。



本例不做任何其他处理的结果如下所示,RGB是随手写的,不代表本人审美。



脚本: plotene.py (5.77 KB, 下载次数 Times of downloads: 49)
输入示例: ene.txt (202 Bytes, 下载次数 Times of downloads: 32)
[2023-05-23 update]
同时生成scatter.txt用于绘制标签。







评分 Rate

参与人数
Participants 6
eV +27 收起 理由
Reason
TretopL + 4 好物!
wypkdhd + 5
Osmanthus + 5
sobereva + 5
Deepast + 3 专业
HuTTy + 5 好物!

查看全部评分 View all ratings

176

帖子

0

威望

2017

eV
积分
2193

Level 5 (御坂)

2#
发表于 Post on 2023-5-19 13:38:48 | 只看该作者 Only view this author
不大圆润呀

170

帖子

2

威望

1734

eV
积分
1944

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2023-5-19 14:43:20 | 只看该作者 Only view this author

可以提request

181

帖子

0

威望

3506

eV
积分
3687

Level 5 (御坂)

4#
发表于 Post on 2023-5-19 15:50:02 | 只看该作者 Only view this author
感谢推荐鄙人写的EnePro。

最近发现了一个绘制Energy Profile的程序:mechaSVG(https://github.com/ricalmang/mechaSVG),这个是我用过的最好用的了。在这里借楼推荐一下。
Windows用户可以直接使用作者提供的可执行文件。

评分 Rate

参与人数
Participants 2
eV +10 收起 理由
Reason
王二葛 + 5 GJ!
冰释之川 + 5 とてもいい!

查看全部评分 View all ratings

Ph.D. (Hiroshima Univ.), PostDoc @Kyoto University
E-mail: wang.zhe.dr@gmail.com
Homepage: wongzit.github.io

108

帖子

0

威望

3175

eV
积分
3283

Level 5 (御坂)

5#
发表于 Post on 2023-10-18 16:00:07 | 只看该作者 Only view this author
试用了mechaSVG,多条反应路径好像不好用?分享一下 阿里云盘mechaSVG win软件和讲解视频
https://www.aliyundrive.com/s/moQ2nTdqS39
提取码: pz75

1

帖子

0

威望

37

eV
积分
38

Level 2 能力者

6#
发表于 Post on 2024-5-7 16:01:20 | 只看该作者 Only view this author
ShuangfeiZhu 发表于 2023-10-18 16:00
试用了mechaSVG,多条反应路径好像不好用?分享一下 阿里云盘mechaSVG win软件和讲解视频
https://www.ali ...

你好 链接显示  该文件夹下没有分享的文件  可以再发一次吗

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 18:55 , Processed in 0.208839 second(s), 31 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list