计算化学公社

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

[辅助/分析程序] 绘制 Energy Profile 的小工具 2.0

  [复制链接 Copy URL]

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

本帖最后由 liyuanhe211 于 2018-2-15 02:09 编辑



######## UPDATE ########
本程序已更新3.0版本,见下文:
http://bbs.keinsci.com/thread-9256-1-1.html
######## UPDATE ########


######## UPDATE
########
2016.3.1 更新2.0:
增加自定义纵坐标文字
增加了拖动数值的功能,解决数值overlap
解决了原有负数区域Tag拖动后消失的Bug(Matplotlib库的问题)
具体情况与新下载地址见本文末尾
######## UPDATE ########

-----------------------------------------------------------  原文↓ -----------------------------------------------------------
火车上闲得无聊,用 Python+PyQt5+matplotlib 写了一个给自己用的、绘制能量折线图(Energy Profile)的小工具,可以做出如下的图。
在群里显摆了一下,竟然有很多人想要,以及发现有至少4人竟然一直用 ChemDraw+鼠标+眼 来做类似的图。。。故编译成 exe 传上来(python本身不需要编译,但源码运行需要用户安装python和相应库)。


导出的图片:

这组数据是本组之前一篇文章里的数据(10.1038/ncomms9617),稍微调一调,放到ChemDraw里画上结构,估计可以达到发表的标准,原文中的图如下:


(P.S. 个人十分讨厌 kCal/mol 这个非 SI 非 au 单位)


使用方法:
下载后解压缩,可得到3个文件夹。exe 是 ./Packed/Draw_Energy_Diagram.exe, 源码在SourceCode文件夹里, Example里有一些实例。


程序界面如下,读取的输入是 excel 文件(内容下文说),可以用 Load 按钮打开,或者直接拖到 Drop Area 里。

随后就会显示对应的图片。可以通过缩放窗口、或使用放大镜工具调整图片的范围和长宽比。按保存可以将当前状态存为多种图片文件(推荐png)


下面是对应于上图的 excel 输入:


  1. 1~2行(可以是任意多行):
  2.                A列为颜色声明(K: 黑色,R: 红色,其他代码见下),指认该行的颜色。
  3.                B,C,D...为各路径的能量。

  4. 3行:
  5.                一个空行(分割数据部分和Tag部分)

  6. 4~5行(行数与数据部分对应):
  7.                数据部分,每个态对应的tag
复制代码


这种输入格式其实有点奇怪,因为它其实是我的另一个程序的输出格式。。。

支持的颜色表达如下(实际上是Matplotlib所支持的颜色 http://matplotlib.org/api/colors_api.html

  1. #DDEEFF: Arbitrary RGB Color
  2. b: blue
  3. g: green
  4. r: red
  5. c: cyan
  6. m: magenta
  7. y: yellow
  8. k: black
  9. w: white (这个显示不出来。。。)
复制代码



保存为png后,可以直接用ChemDraw打开,随后开始在图上绘制分子结构:

5 Example From Article.cdx (97 KB, 下载次数 Times of downloads: 32)


  • 疑问与反馈

这个程序初衷是个自用软件,没想发布,可能有其他Bug。有问题请先看Example。之后可直接在本帖反馈,反馈时上传自己的Excel文件


  • 已知的Bug:

当两个Tag几乎完全重合时,用鼠标拖动会同时拖动两个Tag。暂时可以放大后、脱开、再缩小;或直接把两个Tag都拖到一边,画图里删了它自己加两个。暂时没想到特别好的解决方法。


如下图,有些时候Tag之间会相互重叠,用鼠标可以拖动Tag调整位置。

(然而,调整位置这个功能本身也有bug,如果 Tag 对应的值是负数Tag拖动之后会消失 (╯﹏╰)b,就变成本帖第一张图的样子了,这是 Matplotlib 库本身的问题,不知如何解决。在正数区域是正常的,如上图显示不同颜色的例子中就是拖动过的。)
有类似情况请自行在ChemDraw等软件里补上几个Tag


################################ UPDATE ################################



2016.3.1,2.0版本新增:

  • 解决了上面的Bug

  • 现在可以拖动数值Tag以解决能级接近时,数值 Tag overlap的问题;同时解决有人希望将数值放在能级线 左边/右边/下边。。。



  • 可以定义纵坐标内容,在程序目录下,有一文本文件 Energy_Diagram_Y_Axis_Text.txt,修改其中的文字即可显示在Y轴上


######## UPDATE ########
下方地址已失效,本程序已更新3.0版本,见下文:
http://bbs.keinsci.com/thread-9256-1-1.html
######## UPDATE ########






评分 Rate

参与人数
Participants 49
威望 +1 eV +198 收起 理由
Reason
TIMELY + 4 好物!
renling + 3 谢谢
zhouxiaoke + 3 好物!
SYX_500241 + 3 赞!
小鳟鱼 + 3 赞!
AlanWang + 5 好物!
Lixiaolong + 2 好物!
tsgyls + 4 谢谢分享
波比牛提提 + 4 谢谢
Aridea + 5 好物!
胡小样 + 2 谢谢分享
dan_kuai + 3 谢谢分享! 新手会员坐标北美, 有什么办法可.
Maxwell2020 + 1 非常实用!
阿蝉na + 3 谢谢
xxu若白 + 4 牛!
shiru + 4 好物!
bychenpku + 5 赞!
米宝舞 + 5 谢谢
cottondog + 5 谢谢分享
张雅琴 + 5 谢谢

查看全部评分 View all ratings

293

帖子

8

威望

1694

eV
积分
2147

Level 5 (御坂)

2#
发表于 Post on 2016-2-9 04:46:11 | 只看该作者 Only view this author
本帖最后由 smutao 于 2016-2-9 04:52 编辑

用DataGraph做出的效果图
(见附件) energy_diagram.dgraph.zip (106.56 KB, 下载次数 Times of downloads: 281)

energy_diagram.pdf

22.61 KB, 下载次数 Times of downloads: 460

293

帖子

8

威望

1694

eV
积分
2147

Level 5 (御坂)

3#
发表于 Post on 2016-2-9 04:49:12 | 只看该作者 Only view this author

146

帖子

0

威望

940

eV
积分
1087

Level 4 (黑子)

4#
发表于 Post on 2016-2-9 05:16:20 | 只看该作者 Only view this author
要画分子式其实直接在chemdraw 里作更方便,
要不然还要画分子式,再ps上去。

293

帖子

8

威望

1694

eV
积分
2147

Level 5 (御坂)

5#
发表于 Post on 2016-2-9 06:25:27 | 只看该作者 Only view this author
北纬18° 发表于 2016-2-9 05:16
要画分子式其实直接在chemdraw 里作更方便,
要不然还要画分子式,再ps上去。

我的分子式是直接从chemdraw复制粘贴过去的

2479

帖子

11

威望

6864

eV
积分
9563

Level 6 (一方通行)

6#
发表于 Post on 2016-2-9 09:34:35 | 只看该作者 Only view this author
其实风格可以多选一下,比如文字不是上下编排,而是左右,这样比较好一点

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

7#
 楼主 Author| 发表于 Post on 2016-2-9 10:50:58 | 只看该作者 Only view this author
本帖最后由 liyuanhe211 于 2016-2-9 11:09 编辑
北纬18° 发表于 2016-2-9 05:16
要画分子式其实直接在chemdraw 里作更方便,
要不然还要画分子式,再ps上去。

上面说明里已更新。
为。。什。。么。。会。。需。。要。。PS。。。

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

8#
 楼主 Author| 发表于 Post on 2016-2-9 10:51:17 | 只看该作者 Only view this author
smutao 发表于 2016-2-9 06:25
我的分子式是直接从chemdraw复制粘贴过去的

不要把分子式放到图里啊,把图放到ChemDraw里不就完了。。。

评分 Rate

参与人数
Participants 1
eV +1 收起 理由
Reason
sobereva + 1 我很赞同

查看全部评分 View all ratings

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

9#
 楼主 Author| 发表于 Post on 2016-2-9 11:43:32 | 只看该作者 Only view this author
我本是个娃娃 发表于 2016-2-9 09:34
其实风格可以多选一下,比如文字不是上下编排,而是左右,这样比较好一点

这个程序初衷没想给别人用,所以没留处理选项的地方。可以考虑直接把作图的两句命令拎出来,让大家直接改吧。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
卡开发发 + 2 我很赞同

查看全部评分 View all ratings

66

帖子

0

威望

1473

eV
积分
1539

Level 5 (御坂)

10#
发表于 Post on 2016-2-9 17:08:11 | 只看该作者 Only view this author
我能够感受到大家群策群力的精神!谢谢大家!

285

帖子

2

威望

2852

eV
积分
3177

Level 5 (御坂)

11#
发表于 Post on 2016-2-9 23:57:48 | 只看该作者 Only view this author
我觉得Origin结合PPT怎么样都比“ ChemDraw+鼠标+眼”方便准确呀......

285

帖子

2

威望

2852

eV
积分
3177

Level 5 (御坂)

12#
发表于 Post on 2016-2-9 23:59:21 | 只看该作者 Only view this author
smutao 发表于 2016-2-9 06:25
我的分子式是直接从chemdraw复制粘贴过去的

那叫结构式吧。而且在ChemDraw里画好后导出图片再插入PPT里也不错。

3098

帖子

28

威望

1万

eV
积分
16892

Level 6 (一方通行)

13#
 楼主 Author| 发表于 Post on 2016-2-10 00:50:51 | 只看该作者 Only view this author
本帖最后由 liyuanhe211 于 2016-2-10 19:17 编辑
虎王 发表于 2016-2-9 23:59
那叫结构式吧。而且在ChemDraw里画好后导出图片再插入PPT里也不错。

真要这么干直接复制ChemDraw对象到PPT不就行了

285

帖子

2

威望

2852

eV
积分
3177

Level 5 (御坂)

14#
发表于 Post on 2016-2-11 13:37:43 | 只看该作者 Only view this author
liyuanhe211 发表于 2016-2-10 00:50
真要这么干直接复制ChemDraw对象到PPT不就行了

个人兴趣。不太喜欢直接复制。
不过我的意思是Origin就可以做出准确定量的能级图,然后在ppt里修饰一下效果就不错了。所以有点惊讶有些人用ChemDraw来实现类似的效果。

148

帖子

3

威望

2895

eV
积分
3103

Level 5 (御坂)

15#
发表于 Post on 2016-2-12 19:24:13 | 只看该作者 Only view this author
我本是个娃娃 发表于 2016-2-9 09:34
其实风格可以多选一下,比如文字不是上下编排,而是左右,这样比较好一点

可以用origin导出AI格式的文件,在AI里面进行更加细节的编辑。个人觉得这个软件已经很棒了~~毕竟程序本来也就是作者写来打算自用的

本版积分规则 Credits rule

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

GMT+8, 2024-11-23 11:28 , Processed in 0.202803 second(s), 25 queries , Gzip On.

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