“绘图,让化学生动起来”:Python

您所在的位置:网站首页 色谱图绘制 “绘图,让化学生动起来”:Python

“绘图,让化学生动起来”:Python

2024-04-17 21:06| 来源: 网络整理| 查看: 265

作者简介:85后一名分析化学工作者及科学爱好者,深爱着北京的老北京人,爱好运动,科学,旅行,本文作者的个人微信公众号《科学是什么东东》,欢迎关注!

作者的本职工作为分析化学,因此,在这一专题中,我决定回归本源,使用python编程,以及matplotlib模块绘制全二维气相色谱分析的空间分布图,效果如下:(在讲解中会进行视角变换)

这里也给大家留出一些发挥的空间,我在本专题中不再放出全部代码,观众朋友可以通过前几讲的学习心得和网上查阅的一些教程,根据自己的发挥和理解来绘图。

在绘图之前,首先,我们需要了解的是:何为全二维气相色谱?气相色谱仪,做分析化学的业内人士早已不陌生,这是一种针对易挥发,低沸点组分的常用分析仪器,主要结构如下:

如图所示,在常规的气相色谱仪中,只有一根色谱柱,根据所选择的极性,通过柱温箱升温,以分离沸点不同化合物,并根据其特性用不同的检测器分析。

而近些年衍生出的全二维气相色谱(GC X GC),是把分离机理不同,且互相独立的两根色谱柱,以串联方式结合,两根色谱柱之间由调制器连接,这里所说的调制器起捕集、聚焦、再传送的作用。

经第一根色谱柱分离后的每一个色谱峰,都经调制器以极短的时间保留,再以脉冲的方式送到第二根色谱柱进一步分离,如图所示:

传统的气相色谱发展到(GC X GC)时代,便极大拓展了其分辨率和柱容量:

总峰容量=GC1峰容量*GC2峰容量

总分辨率=sqrt(GC1分辨率^2+GC2分辨率^2)

同时,由于串联的2根色谱柱极性不同,样品更容易分开,其总分析时间反而优于1维气相色谱。

通常来说:

第一根色谱柱为常规色谱柱,采用常规程序升温;

第二根色谱柱较短,用以实现快速分离,通常分离时间为2~10s,近似为恒温条件。

当两根色谱柱处于同一柱温箱时,组分在一维色谱柱的瞬时流出温度即为二维色谱柱的分离温度。

目前全二维气相色谱分析主要应用于香精香料,石油化工,环境污染物监测等科研及检测领域。

由于两个色谱柱保留时间意义不同,通过分析软件进行处理,其概念图如下:

在第一根色谱柱流出的混合组份,单个色谱峰在第二根色谱柱上近一步分离,因此平面坐标系x,y分别为1维保留时间和2维保留时间(min),而z轴为组分的信号强度或质谱相对强度,由不同的信号强度的密集点,可在3D图中观测到类似于山峰形状的强度密度,这也是全二维气相的显著优势:二维点阵的不同极性,不同族化合物的分离特性,见下图:

若脱离开全二维气相分析的自带软件,应用python-matplotlib进行绘图时,我们需要知道什么呢?

一维保留时间,二维保留时间以及其中每个组分的强度

主要混合组份的一维保留时间已知,假设为0.6min

我们需要知道二维保留时间和其每个组分的强度分析,可以用ASCII码表示,即在txt中输入如下:(举例)

第一个在一维色谱柱中出峰的组分,在二维色谱柱中细分的保留时间和各个组分的强度关系,左边列为二维保留时间,右边列为对应组分信号强度

这样第一个组分在x,y,z三坐标轴的位置我们已经知晓,即0.6;txt左边列;txt右边列

部分程序代码如下:

主要步骤解析为#后面的部分

#绘制3d视图

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

#获取txt文本中的内容

data1 = np.loadtxt('test1.txt')

#绘制第一条3D折线图,并添加小标签名称,线宽及颜色

x1为一维保留时间,data1[:,0],data1[:,1]分别为txt中第一列和第二列数据,这里我们以假设的5个一维保留时间和相应的二维保留时间及组分做示例

ax.plot(x1,data1[:,0],data1[:,1],label="2D-Chromatogram 1",linewidth=3,color='b',markersize=12,alpha=0.5)

#为了表示组分出峰点,我们可以在每条折线图下方绘制投影点直线,表示出峰密集程度,并打印输出一维和二维保留时间,这里笔者不放出代码,请自行思考吧~

#最后要多加入一行plt.legend() ,以创建小标签名称和参数

plt.legend()

plt.show()

OK,大功告成,通过改变视角和查看打印信息进行分析:

该图为以假设的5个一维保留时间和相应的二维保留时间及组分做示例

首先打印一维及二维保留时间。

切换视角,我们看到一维保留时间视图,由五条不同颜色组成的组分分布就是我们常见的一维色谱图。

切换视角,我们可以看到每一个二维色谱图及二维保留时间,即每一个一维色谱峰出峰后的组分再分离。

再次切换视角,我们可以通过组分出峰点的密集程度,进行二维点阵的不同极性不同族组分的特征分析(示例不明显,实际的色谱图,组分出峰点密集程度会明显得多)。

讲到这里,本期的内容就告一段落了,脚本编辑是开放式设计,可以进行很多改造,让程序段更完善。对于应用在分析化学领域,也是笔者一种新的尝试和探索,欢迎各位分析化学界的同仁提出宝贵意见和建议~

本文作者的个人微信公众号《科学是什么东东》,欢迎关注!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3