计算化学公社

标题: PlotEne.py:优雅地绘制能量折线图 [打印本页]

作者
Author:
Kalinite    时间: 2023-5-18 15:56
标题: PlotEne.py:优雅地绘制能量折线图
本帖最后由 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,应看到如下图片。

(, 下载次数 Times of downloads: 10)

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

(, 下载次数 Times of downloads: 15)

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

(, 下载次数 Times of downloads: 12)

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








作者
Author:
nianbin    时间: 2023-5-19 13:38
不大圆润呀

作者
Author:
Kalinite    时间: 2023-5-19 14:43
nianbin 发表于 2023-5-19 13:38
不大圆润呀

可以提request
作者
Author:
wangzhe    时间: 2023-5-19 15:50
感谢推荐鄙人写的EnePro。

最近发现了一个绘制Energy Profile的程序:mechaSVG(https://github.com/ricalmang/mechaSVG),这个是我用过的最好用的了。在这里借楼推荐一下。
Windows用户可以直接使用作者提供的可执行文件。
作者
Author:
ShuangfeiZhu    时间: 2023-10-18 16:00
试用了mechaSVG,多条反应路径好像不好用?分享一下 阿里云盘mechaSVG win软件和讲解视频
https://www.aliyundrive.com/s/moQ2nTdqS39
提取码: pz75
作者
Author:
SYX_500241    时间: 2024-5-7 16:01
ShuangfeiZhu 发表于 2023-10-18 16:00
试用了mechaSVG,多条反应路径好像不好用?分享一下 阿里云盘mechaSVG win软件和讲解视频
https://www.ali ...

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




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3