拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Origin绘制傅里叶红外光谱全流程:从数据导入到出版级图表

不少刚接触傅里叶红外光谱的朋友第一反应是跑到OMNIC或OPUS这类仪器配套软件里拉个图截图往报告里一贴就完事。但等真正要投期刊、写毕业论文、做项目结题的时候才发现那张图根本拿不出手——坐标轴刻度是默认的、曲线细得像头发丝、峰位标注歪歪扭扭、导出后清晰度一塌糊涂。于是又回到原点老老实实把数据导成文本文件扔进Origin里从头画。这篇东西就是围绕这个环节写的从FT-IR仪器导出的原始数据怎么进Origin、怎么把透过率转吸光度、基线怎么拉平、谱峰怎么标、曲线怎么配色、怎么导出版级图全流程捋一遍。目标读者是刚开始处理光谱数据的本科生、研究生以及被审稿人批过图片质量差的科研打工人我把实际操作里踩过的坑和验证过好用的套路一并写出来供参考。1. 从FT-IR仪器导出的文件先别急着往Origin里拖1.1 搞清楚你的原始数据到底是什么格式不同品牌的傅里叶红外光谱仪导出格式差得挺远。Thermo Nicolet那套经常是.spa或.spcBruker是.dpt或.0PerkinElmer常见.sp还有完全通用的.csv、.txt、.asc。很多人第一步就栽在这拿到的.spa文件往Origin里一拖直接提示无法识别。二进制格式必须先回仪器自带软件里做一次导出为ASCII文本操作。以OMNIC为例打开谱图后选File → Save As格式下拉里选CSV或TXT导出时注意勾选导出的內容是透过率%T还是吸光度Absorbance。我见过不少同学在仪器软件里看习惯的是吸光度谱图导出时没注意选成了透过率后期处理全乱套。导出的文本文件打开看一眼正常情况下是两列数据第一列波数第二列强度值。不同仪器导出的列顺序偶尔相反也有带表头说明的比如#Wavenumbers, %Transmittance。用记事本打开确认下格式再导入Origin比在Origin里折腾半天才发现列选反了要省事得多。1.2 中红外光谱的波数范围和数据点数量意味着什么FT-IR最常测的中红外区间是4000到400 cm⁻¹仪器分辨率决定相邻数据点的间隔。以最常见的4 cm⁻¹分辨率为例3600 cm⁻¹的跨度大约能产生900多个数据点这对Origin绘图来说是极其轻量的负载完全不用担心卡顿。但如果是近红外仪器测了10000到4000 cm⁻¹范围或者高分辨率2 cm⁻¹甚至1 cm⁻¹扫出来的数据点数会多不少虽然Origin照样带得动只是后续平滑和寻峰时的参数要相应调整。理解数据点数量还有一个实际价值当你在Origin里对曲线做平滑、求导或寻峰时点数越密处理对峰形的影响越小。我之前见过有人拿分辨率8 cm⁻¹的数据去拟合半定量结果相邻两个点之间的波数间隔已经大于半个峰宽折腾半天出来的峰面积完全没有意义。所以拿到数据后先看一眼文件里有多少行、间隔是多少这个习惯一定要养成。2. 透过率转吸光度的逻辑以及为什么顺序不能乱2.1 透射谱的倒峰和吸收谱的正峰如何选择红外谱图的纵坐标通常有两种表示透过率Transmittance%和吸光度Absorbance无量纲或AU。透过率谱的特征是强吸收峰向下倒看着很直观吸光度谱的峰向上正立半定量比较峰强时通常用吸光度更方便因为吸光度在Beer-Lambert定律里与浓度呈线性关系。而Origin软件本身并不区分你到底用的是哪种纵坐标它只负责把你给它的数据点连成线。所以在导入数据前就要想明白这篇报告或论文里我要用透过率还是吸光度如果仪器导出的是透过率百分数而你想画吸光度谱不能在Origin里假装它本来就是吸光度必须做一次换算。换算公式不复杂 [ A -\log_{10}(T/100) ] 其中T是以百分数表示的透过率。如果仪器导出的透过率是以0到1的小数形式存储的公式则写成 [ A -\log_{10}(T) ]2.2 在Origin中新建列并写入换算公式的具体操作在Origin里做这个换算我有两种常用方式。方式一工作表中新增一列。假设A(X)是波数B(Y)是透过率百分数右键工作表空白处选择Add New Column得到C列。选中C列右键 → Set Column Values设置列值弹窗里输入-log10(Col(B)/100)点ApplyC列就变成吸光度值了。然后把C列设为Y绘图时选择A作为X、C作为Y即可。方式二如果你希望原始透过率数据保持不动也可以用Origin的Copy Column功能复制B列再对复制的列做Set Column Values。这样保留原始数据、保留换算数据后期对比或重新检查都比较方便。这里必须提醒一件事如果原始数据已经是吸光度千万别再取一次负对数。我接手过别人的数据发现对方把仪器导出的吸光度当成透过率又算了一遍结果整个谱图上下颠倒峰全部反向看起来就像基线穿过峰顶一样。拿到任何数据第一件事永远是打开文本文件确认表头或数据特征。2.3 基线校正、背景扣除与吸光度换算的先后顺序很多教程把预处理步骤列成一二三四但没有讲为什么这个顺序重要。我的实际经验是如果仪器在采集样品谱时已经实时扣除了背景绝大多数单次测量默认这样做那么后处理阶段不需要额外做背景扣除。但如果你拿到的是没扣背景的原始干涉图数据或者需要对比不同时间测的谱图就得先做背景/空气干扰扣除再做后续处理。基线校正和吸光度换算的顺序取决于你导出的纵坐标类型。如果导出的是透过率且你需要展示吸光度谱我建议先做基线校正再换吸光度。原因是基线校正在透过率谱上更直观一条倾斜的基线在透过率谱上就是一条斜线你拉平它很简单如果先换成吸光度原来透过率上的微小基线倾斜在取负对数后会被放大尤其是在吸收弱的高波数区间拉平起来麻烦得多。如果最终展示的就是透过率谱那么基线校正做完就可以直接绘图平滑放在最后。3. 基线校正和平滑用不好就是失真用好了才是优化3.1 基线为什么歪以及Origin里几种基线校正方式的适用场景红外光谱基线不平通常来自样品散射尤其是粉末压片、ATR附件测固体、仪器漂移、以及空气水汽和二氧化碳的残留。具体表现为基线整体上翘、形成缓慢的波浪或者某些区域有宽包等。Origin里做基线校正我常用的路径有两个一是直接选中曲线 → Analysis → Peaks and Baseline → Baseline选择自动基线Auto Baseline或用户自定义基线User Defined。自动基线适合基线上整体比较干净、只有几个明显峰的情况它会用某种迭代拟合方法把基线估算出来然后选择Subtract扣除。自定义基线适合基线漂移复杂、不同区段基线走势不一样的情况这时候我会用鼠标在曲线上逐点点击设定锚点生成一条手动基线再扣除。实际操作中不要盲信自动基线。自动基线最常见的翻车场景是基线被误当成宽带峰结果扣除后真实宽峰被削掉一大块。判断方法很简单做完自动基线后把基线和原始曲线同时显示出来对比如果基线穿过了明显的峰区域那就切换到手动模式重新拉。3.2 Savitzky-Golay平滑的参数选择和过度平滑的警戒线平滑的目的只有一个去除高频噪声让谱图看起来干净。最常用的是Savitzky-Golay方法Origin里选中曲线 → Analysis → Signal Processing → Smooth方法选Savitzky-Golay然后需要设置窗口点数Points of Window和多项式阶数Polynomial Order。窗口点数通常设置在5到15之间点数越大平滑力度越强。这里有个关键经验窗口点数如果超过峰宽的1/3峰的强度会明显下降半峰宽会被展宽。我碰到过一个真实案例同学为了把噪声完全抹掉把窗口设成25点结果一个原本尖锐的1600 cm⁻¹峰被削成了扁平鼓包用这个结果去算结晶度结论板上钉钉就是错的。所以平滑后一定要做一件事把平滑曲线和原始曲线叠加在同一张图里对比确认峰的位置没有偏移、峰的个数没有减少只有高频毛刺被清除。只要发现峰高变化超过5%左右或者原本能分辨的两个相邻峰黏在一起了就说明平滑过度要减小窗口。3.3 ATR校正和归一化什么时候需要做什么时候没必要如果你的数据是用ATR附件采集的并且后续要做谱图比对或半定量建议在Origin外部或利用已知公式做一次ATR校正。ATR谱在低波数区域吸收会偏强需要用穿透深度随波数变化的公式修正。不过Origin本身没有一键ATR校正功能我是用仪器配套软件先做校正再导出文本或者自己写一个简易公式列计算。要不要做ATR校正取决于你是纯粹定性识别官能团还是要做峰强对比。纯定性不做问题也不大。归一化则是另一个常被问到的东西。做多谱图对比时如果样品量、压片厚度或ATR接触压力不完全一致谱峰绝对强度没有可比性这时可以归一到某个不受样品量影响的内标峰比如聚苯乙烯的1601 cm⁻¹骨架振动峰或者归一到固定波数处的局部最大值。Origin的归一化在Analysis → Math → Normalize里最常用的是Normalize to Maximum Peak和Normalize to Baseline Peak。注意归一化会让谱图纵坐标变成相对强度标注的时候要写清楚是Arb. Units。4. 光谱绘图的第一道坎X轴反不反、Y轴倒不倒4.1 为什么红外光谱的横坐标必须从高波数到低波数这是红外领域的一个行业习惯横坐标从左到右显示4000到400 cm⁻¹也就是高波数在左、低波数在右。原因是早期的红外光谱仪扫描方向就是从高波数扫到低波数后来这个显示习惯被固化下来。如果你不设置反转Origin默认是按导入数据的顺序升序显示即小波数在左、大波数在右那样画出来的光谱方向就和文献相反一眼就会被同行看出来外行。设置方法双击X轴打开Axis对话框在Scale选项卡中找到Reverse反转选项勾选X轴就会自动从高到低排列。看到很多人第一次画红外谱不知道这个设置画完总觉得别扭其实就是少勾了一个复选框。4.2 透过率纵轴的显示方向向下的峰是默认但不是唯一透射模式下的FT-IR谱如果纵轴是透过率默认情况下峰是向下的。很多人想把峰翻上去正常做法就是上面说的转成吸光度。但实际发表的文章里透过率谱图也大量存在峰向下并不丢人反而在对比多个样品透过谱时向下的谱图更直观地反映透过率下降这个物理含义。无论你最终用透过率还是吸光度重要的是在图的纵轴标题明确写清楚词是Transmittance (%)还是Absorbance (a.u./arb. units)。我之前审过组里师弟的论文修改稿他画的是吸光度谱但Y轴标题还写着Transmittance审稿人质疑数据不对属于完全可以避免的硬伤。如果把Y轴范围设置留成Origin默认的-5到105底下会多出一片空白区域曲线看起来飘在图上。双击Y轴把刻度下限设在比最低点略低一点的位置比如透过率谱的最低谷是20%就把From设为10或0To设为100让曲线尽量撑满绘图区。4.3 用分层叠线查看细节同一谱图的不同波数区间怎么同时放大还有一个常用技巧当样品在某个波数区间比如1800-1500 cm⁻¹羰基区峰特别多、特别挤但其他区域很平缓的时候把整段0到100%的透过率范围全部展示羰基区的峰就会显得很矮小。这时不要急着把Y轴范围切小因为切小会牺牲大范围概览。我的做法是绘制两个图层Layer外图层展示全谱4000-400 cm⁻¹内图层是同一曲线的局部放大图放在外图层的角落位置。在Origin里选中谱图后右键图层图标选择Layer Management复制一个图层然后把复制图层的X轴范围设为局部波数区间就行。这样一张图里既有全局又有细节投稿时很加分。5. 多谱图对比叠加、平移、归一化和堆叠图的选择5.1 多条曲线挤在一起时先问自己对比的目的是什么做样品对比时我一般先把所有曲线拖进同一张图里看一遍全貌再决定用哪种呈现方式。如果几条曲线之间的峰位差异是关注点比如不同样品同一个特征峰发生位移那么直接叠加在同一纵坐标上、配合不同颜色或线型就已经够了。如果关注的是峰强或峰面积的相对差异比如氧化程度、结晶度那就得保证每条曲线的纵坐标具有可比性不能是一条归到100%、另一条归到50%。这种情况下我通常先做归一化或内部标定再叠加。如果关注的是不同样品谱图轮廓是否相似但每条谱又有自己的基线或强度差异那么叠加时就需要给每条曲线做纵向平移offset或使用堆叠图stack plot。Origin里的堆叠图路径是Plot → Multi-Panel/Stack → Stack Lines by Y Offsets它会自动给每条曲线增加一个Y方向偏移量使它们上下错开。这种图的缺点也明显纵坐标刻度不再是真实的强度值所以使用时必须明确标注Offsets applied for clarity。5.2 Origin中手工平移曲线比你想的更简单也更可控Origin堆叠图虽然快但它自动计算的偏移量经常不适合发表。我更常用的做法是手工平移在数据表里选中某条Y列用Set Column Values里的公式给整个Y列加上一个常数比如Col(B)50然后绘图。这样每条曲线在纵轴上的位置完全由你控制加了多少一目了然图注里写spectra are arbitrarily offset along the y axis for clarity也理直气壮。选择平移量有一个小原则相邻两条曲线之间的空白高度应稍大于每条曲线最大的峰峰高度这样各条曲线的峰在视觉上不会互相重叠。最忌讳的是对称峰彼此压线既难看又误导人。5.3 拟合峰的堆叠展示Origin的Fit Spectra功能可以少走弯路做红外光谱的曲线拟合分峰时Origin的Peak Analyzer是一把利器。选中原始曲线 → Analysis → Peaks and Analyzer在弹出的向导中设置基线模式、寻峰灵敏度、拟合函数类型通常用Gaussian或VoigtOrigin会帮你自动找到峰、输出拟合结果并在工作表里生成拟合峰数据。这套流程的完整操作我建议单独去跑一遍官方样例这里强调一个经验拟合之后原始谱、拟合总曲线、各分峰曲线要在同一张图里展示这是论文写作的基本要求。Origin本身会在拟合结束时自动生成一个包含拟合结果的图和表格如果没自动出现用Plot → Line把各峰的Y数据添加进现有图层即可。6. 曲线优化从一眼假到看着专业差的往往只是几个参数6.1 坐标轴粗细、刻度方向和数字格式一次设到位很多人在Origin里画完图坐标轴还是默认的灰框、默认的瀑布式刻度数字这在红外光谱图里是很扎眼的。期刊排版层面绝大多数情况下坐标轴的线宽要和曲线线宽匹配甚至略粗才不会显得头重脚轻。双击坐标轴打开Axis对话框Tab分两组操作Line and Ticks将Major Ticks和Minor Ticks都设为In或Out刻度线朝内或朝外不要用Cross或None。坐标轴线宽在Line下面的Width设为1.5或2。Tick LabelsFont选Times New Roman或ArialSize一般在7到10 pt之间。Format里把小数的位数的显示设置好比如波数列不要出现一堆0.000123这种无意义的小数改用Decimal 1000或者在小数点后设0-1位。再强调一点Origin坐标轴标题里的上下标处理。论文里最常见的写法是Wavenumber (cm⁻¹)和Transmittance (%)但cm⁻¹里的-1是上标。在Origin的文本编辑框里直接选中那个1点工具栏里的上标按钮就能变网上有人说用Unicode字符其实Origin自带的上标按钮更方便。6.2 线宽、线型和颜色的选择不是凭审美而是凭可读性光谱曲线的线宽建议设置在1.5到2 pt。小于1.0 pt的线条在印刷稿里会细得像铅笔画线尤其当整个页面缩印到单栏宽度时细线几乎看不见。审稿人看不清你的峰给出图质量差的评价后面重新返工的成本比你想象的高得多。线型用于区分同图中的多条曲线首选实线Solid、虚线Dash、短划线Dot组合。只有在必须区分同线型的不同样品时才用不同颜色。颜色选择上我习惯避开红绿这对色盲友好性极差的组合改用纯蓝、纯红、橙色、墨绿这样的区分度。连续梯度颜色的紫-蓝-绿-黄-红对比强烈但适合渐变系列不适合类别对比。6.3 图例的位置、边框和内容能不能留在图内Origin默认生成的图例是带边框的方框还要盖住一部分曲线。双击图例后可以在边框设置里把Border设为None再把图例拖到图上空白区通常右上或左下。更稳妥的做法是图例不放在图内挪到图外之后通过每张图坐标轴标题的正下方做注释这样在SI支撑材料里多谱图排列时不会被图例遮挡。对于单条曲线的图很多时候根本不需要图例删掉就行两条以上的图例命名最好直接写样品编号或样品名不要写Sample 1这种没有信息量的词。在Origin里双击图例即可编辑文字改完记得回车确认。7. 图形美化与导出期刊要求再严这几个细节也能保住分7.1 对齐、留白和整体比例Origin的Layer Properties还能再救一次Origin默认生成的图层通常会自动填充Plot Area但坐标轴标题、图例、局部放大图层的位置经常需要微调。一个很容易被忽视的地方是坐标轴标题和轴刻度数字之间的间距默认情况下有时会贴得太紧导出的PDF里看起来标题像是和数字挤在一起。双击轴的标题文字在文本编辑器中把距离稍微调大或者在轴的Label选项卡里设置Gap to Axis。另一个细节是图层的边框粗细和曲线所在层的最小/最大坐标范围。如果Y轴范围留白太大可以在轴属性里调整From和To让曲线占满可绘制区域但不顶格上下留出大约2%的余量即可。左右方向同理4000和400两个端点不要直接落在框线上。7.2 字体嵌入和全字体平滑为什么导出后文字变糊默认情况下Origin可能是用系统字体渲染文本导出为矢量格式时某些字体嵌入不全在别人电脑上打开PDF或者Word里插入图片可能出现字体替换导致变形。我的方法是全图统一使用Arial或Times New Roman并在导出设置中勾选嵌入字体Embed Fonts或者在最终导出图片格式时使用高分辨率位图来规避矢量字体问题。如果是投稿期刊一般要求位图图TIFF300 dpi以上黑白或灰度模式下600 dpi更稳。矢量图EMF或EPS部分期刊允许PDF。在Origin里导出路径是File → Export Graphs选择TIFF格式时Image Type色彩深度选24-bit ColorDPI Resolution填300或600。导出后习惯性打开图片放大到100%检查坐标轴数字和标注文字有没有发虚、有没有锯齿。一切正常再在论文里插入。7.3 想把多张光谱图拼成一张组合图Origin有两条路一种是先分别导出单张图片在外部画图软件里拼接这种方式的缺陷是对齐难、字体大小不一致。另一种是在Origin里直接建多个图层把每张谱图放到同一个Graph窗口的不同Layer里再统一排版。我大多数时候用后一种因为不同Layer共用同一套字体设置和导出参数最终输出时所有图片的观感一致。多Layer排版时全选所有图层后右键 → Layer Management在Size/Position里设置统一的尺寸和对齐方式。拼图时图与图之间要留白一般至少给坐标轴标题留24 pt左右的行高防止不同子图互相干扰。8. 几个传家宝级的经验批量处理、模板复用、还有那些翻车现场8.1 把一套排版存成Origin模板下一次导入数据直接出图如果你每隔几天就要处理一批FT-IR数据模板功能一定要用起来。调好一张谱图的所有设置坐标轴、线宽、字体、图例、导出风格后在图窗口空白处右键 → Save Template As输入模板名。之后新建图窗口时选择这个模板Origin会按模板生成初始图你只需要把新的数据列拖进去替换即可。模板的另一大价值是统一组内出图风格。我帮课题组定过一套模板所有人导出的红外图长得几乎一样做PPT的时候拼在一起非常整齐不会出现同一批图片里有的用红蓝配色、有的用黑灰线型的情况。8.2 批量导入几十条曲线时别一条一条拖用Import Wizard和Book List光谱测试经常一个批次二三十个样品一个个选中文件拖进Origin非常低效。File → Import → Import Wizard选好文件格式后Origin会记住你的导入设置下次批量导入时可以直接用相同设置。另一个更快的办法是Origin的Import Multiple Files直接把整个文件夹的数据一次性导入每份文本文件生成一个独立的工作表。导入后确认每张表的X列和Y列设置一致再批量绘制。8.3 常见翻车现场汇总越看越像你踩过的坑文件里明明有波数和透过率导入后绘图却发现X轴是一串行号。这是因为Origin没有正确识别列属性。右键列头Set As X和Set As Y重新设一遍即可。导入数据后图窗空白一片什么曲线都没有。检查一下是不是选中了多个工作表或多个图层的坐标范围对不上。保错水的导数光谱DTA和二次导数一阶导和二阶导噪声会放大几十倍不作平滑根本没法看。这个不是Origin的问题是数学性质决定的但处理时最好在求导后做适度平滑。导出图片时忘了给图片加边框线投稿后编辑部转的XML版本里坐标轴只剩下刻度线图上一片白。导出前务必在Axis对话框里确认Line的Show Line勾选着。Origin里输入中文坐标轴标题导出后个别字符显示成方框。解决要么统一用英文坐标轴标题要么把导出设置里的字体换成支持中文的宋体/黑体并勾选嵌入字体。8.4 关于数据可复现性最后再说几句处理FT-IR数据时Origin项目文件.opju本身就是你最好的实验记录本。建议每处理完一批数据保存一个独立的opju文件文件名写清楚日期和样品批次。同时在项目文件内部写一个文本注释View → Notes记录清楚数据来源文件、基线校正参数、平滑点数、归一化方法。这不仅是对自己负责也是应对将来这个数据当时怎么处理的怎么画不出同样的图这类灵魂拷问的唯一办法。组里师弟找我复查数据时我从来不看他的PPT里的图而是直接让他把opju打开我看每一步操作记录。只要opju里的处理链路是完整的半年前的数据我都能快速复现。我实际用了Origin处理FT-IR光谱快七年踩过的坑基本上都写在上面了。刚开始你可能觉得这些步骤琐碎但当你拿着同一组数据用这些方法画出来的图和随手截图甩进Word的图放在一起对比时那种差距带来的成就感值得你在这套工作流里认真花上一个下午。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门