1. 从一张被审稿人嫌弃的散点图说起如果你在实验室待过一段时间大概率见过这样的场景辛辛苦苦跑完一组实验把数据丢进Origin默认生成一张散点图或者点线图然后直接截图贴进论文。结果导师看了一眼说“这图太乱了”审稿人回复里也来一句“Figure X is not informative”。问题出在哪不是数据不行而是图没有把信息层次拉开。散乱的点线图有个通病所有数据点平铺在一个平面上不同条件、不同批次、不同时间点的曲线互相穿插读者根本分不清谁是谁。尤其是当你有五六组甚至十几组数据时默认配色和默认线型会让整张图变成一团彩色毛线。而叠层图也叫瀑布图、堆叠偏移图、waterfall plot解决的正是这个问题——它把每组数据在纵向上做一个固定偏移让曲线像台阶一样层层叠起来既保留了每条曲线的完整形态又让组与组之间的对比一目了然。这篇文章要讲的就是怎么在Origin里把一张“散乱的点线图”改造成“美观的叠层图”。我会从数据组织、偏移量计算、坐标轴处理、配色方案、导出设置这几个环节一步步拆开讲中间穿插我自己踩过的坑和实验室里流传的一些小技巧。无论你用的是Origin 2019、2021还是更新的中文版操作逻辑基本一致。适合已经会基本绘图但想让图更“能打”的研究生、科研人员和需要做数据汇报的工程师。叠层图不是什么新发明光谱学、电化学、材料表征领域早就用烂了。但很多人以为它只能靠手动拖拽数据点来实现其实Origin里有更聪明的做法。下面我从头讲。2. 叠层图到底解决什么问题以及什么数据适合这么画2.1 散乱点线图的三个致命伤先明确痛点才知道改造的方向。默认点线图在科研场景下通常有三个问题。第一是视觉遮挡。当两条曲线的数值范围重叠时后面的曲线会被前面的挡住你只能看到最上面那条。比如做循环伏安测试五组不同扫描速率下的曲线氧化峰和还原峰的位置差不多只是电流大小有差异平铺画出来就是一团。第二是组间对比困难。人眼对纵向位置的敏感度远高于对颜色的敏感度。平铺图里你要靠图例去对应颜色再在脑子里把每条曲线“拎”出来比较。叠层图直接给每组一个纵向基线对比变成看“台阶高度”和“台阶形状”认知负担小得多。第三是信息密度低。一张图占的版面是固定的平铺图浪费了大量纵向空间。叠层图把纵向空间利用起来同样的版面能塞进更多组数据而且不显拥挤。2.2 哪些数据天生适合叠层不是所有数据都适合叠层。我总结了一个简单的判断标准如果每组数据的横坐标范围相同或高度重叠且纵坐标的绝对数值不是比较的重点那就可以考虑叠层。典型适用场景包括光谱类红外光谱、拉曼光谱、紫外可见吸收光谱、XPS窄扫谱。不同样品或不同处理条件下的谱图峰位对比是重点绝对强度不重要。电化学类循环伏安曲线、恒流充放电曲线、交流阻抗谱。不同扫描速率、不同循环圈数下的曲线。热分析类TGA、DSC曲线。不同升温速率或不同配方的曲线。力学类应力-应变曲线。不同温度或不同应变速率下的曲线。色谱类不同样品的色谱流出曲线。反过来如果纵坐标的绝对数值本身就是结论比如你要比较不同样品的产率那叠层反而会误导读者这时候应该用柱状图或箱线图。2.3 叠层图的两种主流形态实际操作中叠层图有两种做法效果和适用场景不同。一种是固定偏移叠层每组数据在Y方向上加一个相同的常数偏移量曲线形状完全不变只是整体上移。这种适合组数不多3到8组、曲线纵向跨度不大的情况。另一种是归一化后叠层先把每组数据归一化到相同的高度再加偏移。这种适合曲线纵向跨度差异很大的情况比如有的样品信号强有的弱归一化后形状对比更清晰。但要注意归一化会丢失强度信息如果强度本身有意义就不能这么做。我下面主要讲固定偏移的做法因为它在Origin里实现起来最直接也最不容易出错。归一化的变体我会在第五节提一下。3. 数据准备阶段把“一列一列”变成“一组一组”3.1 原始数据的常见组织方式及其问题大多数人拿到数据时Excel里是这样的第一列是横坐标比如波长、时间、电压后面每一列是一组纵坐标。导入Origin后默认会把每一列都当成一个独立的Y数据集横坐标共用第一列。这种组织方式本身没问题问题在于很多人直接选中所有列就画图结果出来一堆颜色各异的散点。要画叠层图你需要先想清楚哪一列是公共横坐标哪些列是需要叠层的Y数据偏移量是多少。这三个信息确定了后面的操作就是机械劳动。3.2 在Origin里重建工作表结构我的习惯是在原始数据旁边新建几列专门用来存放“偏移后的Y值”。具体做法是假设你有5组数据横坐标在Col(A)原始Y在Col(B)到Col(F)。那么新建Col(G)到Col(K)每一列对应一组偏移后的数据。偏移量设为Δ那么Col(G) Col(B) 0×ΔCol(H) Col(C) 1×ΔCol(I) Col(D) 2×ΔCol(J) Col(E) 3×ΔCol(K) Col(F) 4×Δ在Origin里可以用Set Column Values功能批量设置。右键点击目标列选择“Set Column Values”在公式框里输入类似Col(B)0*100的表达式。这里100就是偏移量Δ具体取多少要看你的数据范围。提示偏移量不要拍脑袋定。一个实用的方法是先看所有Y数据的最大值和最小值之差把这个差值除以组数-1再乘以1.2到1.5的系数作为偏移量的初始值。这样能保证相邻曲线之间有明显间隙但又不至于太散。3.3 偏移量到底取多少才合适这是叠层图好不好看的关键。偏移量太小曲线会挤在一起甚至重叠偏移量太大图会拉得很长每组曲线被压扁细节看不清。我一般用这个公式估算Δ (Y_max - Y_min) × k / (n - 1)其中Y_max和Y_min是所有组数据中的全局最大值和最小值n是组数k是间隙系数通常取1.3到1.8。k越大曲线之间的空白越多。举个例子5组数据全局最大值是1200最小值是-200差值1400。n-14。如果k取1.5那么Δ 1400 × 1.5 / 4 525。这个偏移量下最上面那组曲线的最高点会到1200 4×525 3300左右最下面那组的最低点是-200。整个Y轴范围大约3500每组曲线占约1400的高度间隙约525比例比较舒服。当然这只是初始值实际还要根据曲线形状微调。如果曲线本身很平可以适当减小k如果曲线有尖锐的峰k要大一点否则峰尖会碰到上一组的基线。3.4 用“Layer”还是用“偏移列”两种技术路线的取舍Origin里实现叠层有两种技术路线。路线一单图层偏移列。就是把偏移后的数据放在同一个图层里画所有曲线共用一个Y轴。优点是操作简单导出后是一张完整的图后期在AI或PS里处理方便。缺点是Y轴刻度是偏移后的数值没有物理意义需要手动改刻度标签。路线二多图层堆叠。每组数据单独一个图层图层在垂直方向堆叠每个图层有自己的Y轴。优点是每个图层可以独立设置Y轴刻度和标签物理意义清晰。缺点是图层对齐麻烦导出时容易错位而且图例管理复杂。我个人的选择是如果组数少于6组且不需要每组独立的Y轴标签用路线一。如果组数多或者每组数据的Y轴范围差异很大需要单独标注用路线二。这篇文章主要讲路线一因为它是大多数人的需求而且做出来的图更“整”。4. 从散点到叠层一步步改造你的图4.1 先画一张“干净”的基础图不管你后面怎么叠基础图的质量决定了最终效果。我的建议是先只画一组数据把线条、符号、坐标轴、字体都调好然后再复制格式到其他组。具体操作选中Col(A)和Col(G)第一组偏移后的数据插入散点图或点线图。然后做以下设置线条如果数据点密集用“Line”模式线宽0.5到1.0。如果数据点稀疏用“LineSymbol”符号大小3到5。颜色先不要急着上彩色用黑色或深灰色。叠层图的颜色方案后面单独讲。坐标轴横坐标刻度根据数据范围设置纵坐标暂时不管后面统一调。字体Arial或Helvetica字号8到10。中文用宋体或黑体字号9到10.5。这一步的关键是把单组曲线的样式定下来。因为后面所有组都会用同样的样式只是位置不同。如果单组曲线看起来不舒服叠起来只会更糟。4.2 批量添加其他组数据样式定好后右键点击图层选择“Plot Setup”或者直接在“Layer Contents”里添加其他偏移列。把Col(H)到Col(K)依次加进去。这时候你会看到所有曲线都叠在一起因为偏移量还没生效——等等如果你已经在Set Column Values里加了偏移那它们应该已经分开了。如果发现曲线还是挤在一起检查一下Set Column Values的公式有没有写对。常见错误是忘了加偏移量或者偏移量写成了固定值但数据范围变了。添加完所有组后图应该呈现出阶梯状。这时候需要做几件事调整Y轴范围让所有曲线完整显示上下留出适当空白。如果曲线之间有重叠微调偏移量。给每组曲线设置不同的颜色或线型。4.3 坐标轴的“欺骗性”处理叠层图有一个绕不开的问题Y轴刻度是偏移后的数值没有物理意义。比如你原本的电流是微安级别偏移后变成了几千。直接展示会让人困惑。处理方法有两种方法一隐藏Y轴刻度只保留轴线和标签。在坐标轴设置里把Y轴的Major Ticks和Minor Ticks都设为None只显示轴线。然后在每组曲线旁边手动添加文本标注说明这组对应的条件。这种方法适合组数少、每组条件需要文字说明的情况。方法二自定义Y轴刻度标签。保留刻度线但把刻度标签改成有意义的值。比如第一组曲线的基线在0第二组在500第三组在1000你可以把Y轴刻度设为0、500、1000、1500然后把标签改成“0”、“1”、“2”、“3”或者对应的条件名。在Origin里双击Y轴刻度标签可以手动输入自定义文本。我通常用方法二因为看起来更“正规”。具体操作双击Y轴在“Tick Labels”选项卡里把“Type”设为“Text from dataset”或者直接手动输入。如果组数多可以建一列文本用“Column”方式引用。注意自定义刻度标签后一定要检查刻度线和标签是否对齐。有时候偏移量不是整数刻度线会落在奇怪的位置。解决办法是把偏移量取整或者手动指定刻度位置。4.4 图例的处理横向排列与分组标注默认图例是纵向排列在图的右侧组数多了会占很大空间。叠层图的图例更适合横向排列在图的顶部或底部。在Origin里右键图例选择“Properties”在“Background”里把边框去掉在“Text”里调整字体。然后在“Legend”选项卡里把“Arrangement”设为“Horizontal”。如果图例项太多可以分两行。另一种做法是不用图例直接在曲线旁边标注。比如在每组曲线的右端或左端加一个文本标签写明条件。这种“直接标注”在叠层图里非常常见因为读者看曲线时视线就在图上不需要来回对照图例。具体操作用“Text”工具在曲线旁边加文本框或者用“Data Display”功能在特定数据点旁边显示标签。后者更精确但设置麻烦前者更灵活。5. 让叠层图“美观”的五个细节5.1 配色不要用Origin默认的彩虹色Origin默认的配色是红、绿、蓝、青、品红、黄……这套颜色在叠层图里非常刺眼而且相邻颜色对比度不够。我的建议是如果组数少3到5组用同色系渐变。比如从深蓝到浅蓝或者从深红到浅橙。这样既有区分度又不会显得杂乱。如果组数多6组以上用两组对比色交替。比如深蓝、深红、中蓝、中红、浅蓝、浅红。这样相邻曲线颜色不同但整体只有两个色系。如果必须用多色避开纯红和纯绿同时出现因为红绿色盲读者无法区分。在Origin里设置颜色双击曲线在“Line”选项卡里点颜色下拉框选择“More Colors”可以自定义RGB值。我常用的几组配色组数配色方案RGB参考3组深蓝-中蓝-浅蓝(31,73,125), (68,114,196), (180,198,231)4组深红-中红-浅红-灰(150,30,30), (200,80,80), (230,150,150), (128,128,128)5组蓝红交替(31,73,125), (150,30,30), (68,114,196), (200,80,80), (180,198,231)6组以上双色系渐变蓝系三阶红系三阶交替5.2 线宽与符号叠层图的“呼吸感”叠层图里曲线密集线宽太粗会显得闷太细又看不清。我的经验值是线宽0.5到0.8比普通平铺图细一点。因为叠层图里曲线数量多细线能让每一条都“透气”。符号方面如果数据点密集比如光谱数据有上千个点不要用符号只用线。如果数据点稀疏比如十几个点用符号线符号大小3到4符号边缘线宽0.5。还有一个细节相邻曲线的线型要区分。如果颜色相近用实线、虚线、点线交替。如果颜色区分明显可以都用实线。我一般用实线和虚线交替这样即使打印成黑白也能区分。5.3 基线处理要不要画一条水平参考线叠层图里每组曲线的“基线”位置其实是人为设定的偏移量。有些作者会在每组曲线的基线位置画一条浅灰色的水平线帮助读者看清偏移量。这个做法有利有弊。好处是读者能清楚看到每组曲线的起点和偏移量对比更直观。坏处是如果曲线本身有背景信号基线线会和曲线混在一起反而乱。我的建议是如果曲线在两端有明显的平坦区域比如光谱的基线区可以画基线线。如果曲线全程都在变化不要画。画的话用浅灰色RGB 200,200,200线宽0.3放在曲线下层。5.4 坐标轴边框与刻度做减法叠层图的坐标轴要尽量简洁。具体做法去掉顶部和右侧的边框线在Origin里叫“Top”和“Right”轴设为“None”。刻度线朝内长度3到4Major Ticks间隔根据数据范围定Minor Ticks可以不要或者设1到2个。坐标轴标签字体比刻度标签大一号加粗。如果Y轴用了自定义标签确保标签和刻度线对齐。5.5 导出设置分辨率和格式的坑最后一步导出很多人在这里翻车。常见问题导出的图在Word里模糊或者插入LaTeX后字体变了。我的导出设置格式EPS或PDF矢量图如果期刊要求TIFF用600 dpi。尺寸单栏图宽度8.5 cm双栏图17 cm。高度根据组数定一般10到15 cm。字体导出时嵌入字体或者把图里的文字转成曲线但转曲线后不能编辑慎用。背景透明或白色不要用默认的灰色。在Origin里导出EPSFile → Export Graphs → Open Dialog选择EPS格式设置好尺寸和分辨率。如果导出后字体变了检查“Font Embedding”选项。6. 那些年我踩过的叠层图坑6.1 偏移量取整导致的“台阶不齐”有一次我帮师弟改图他的叠层图看起来总是“歪”的每组曲线的间距不一样。查了半天发现他的偏移量设的是137.5但Y轴刻度设的是100的整数倍。结果曲线基线落在刻度线之间视觉上就不齐。解决办法偏移量取整且和Y轴刻度间隔成整数倍关系。比如Y轴刻度间隔是500偏移量就取500或1000。这样每组曲线的基线都落在刻度线上看起来整齐。6.2 图例顺序和曲线顺序不一致Origin默认按图层内容顺序排列图例但如果你后来调整了曲线的添加顺序图例可能和实际曲线不对应。更坑的是如果你用了“Offset”功能而不是手动加偏移列图例可能显示的是原始列名而不是你想要的标签。解决办法手动编辑图例文本。双击图例直接修改文字。或者在图例属性里把“Legend Text”设为“Custom”然后手动输入每组对应的标签。6.3 导出后曲线变粗或变细这是矢量图导出的常见问题。Origin里线宽0.5导出EPS后在AI里打开可能变成0.3或0.8。原因是Origin的线宽单位和导出后的单位不一致。解决办法导出前把线宽设为“Points”而不是“mm”并且在导出设置里勾选“Keep Line Width”。如果还是不对在AI里全选曲线统一设置线宽。6.4 数据点太多导致文件巨大光谱数据动辄几千个点5组就是上万点。如果每个点都带符号EPS文件会大到几十MB插入Word后卡顿。解决办法对数据进行抽稀。在Origin里用“Decimate”功能每隔N个点取一个。对于光谱图N取5到10通常不影响视觉效果。或者直接只用线不用符号。7. 进阶玩法归一化叠层与三维叠层7.1 归一化叠层当曲线高度差异太大时如果不同组的曲线纵向跨度差异很大比如第一组峰值100第二组峰值5000固定偏移量下第一组会被压成一条直线。这时候需要先归一化。做法在Set Column Values里把每组数据除以该组的最大值或最大值-最小值然后再加偏移。公式类似Col(B)/max(Col(B))*1000 0*500。这样每组曲线的峰值都归一化到1000再加偏移。归一化叠层适合比较曲线形状但不适合比较绝对强度。用的时候要在图注里说明“曲线已归一化”。7.2 三维叠层用Origin的3D功能做“真”瀑布图Origin有内置的3D瀑布图功能Plot → 3D → Waterfall可以直接把多组数据画成三维叠层。效果很炫但我不推荐在论文里用因为三维投影会引入视觉畸变读者很难准确读取数值。如果只是做汇报PPT可以用。三维瀑布图的设置关键是视角。在“3D Rotation”里把X旋转设为-30到-45度Y旋转设为15到30度Z旋转设为0。这样曲线有立体感但不至于变形太厉害。7.3 用“Pattern”功能批量复制格式如果你经常画叠层图可以做一个模板。把调好的图保存为“Theme”右键图 → Save Format as Theme下次画图时直接应用。这样不用每次都重新设置线宽、颜色、字体。模板的另一个好处是统一实验室的图风格。我们实验室就有一个共享的Origin Theme文件所有人画图都套这个模板组会汇报时图看起来整齐划一。8. 一些零碎但有用的经验关于中文版Origin2021之后的版本中文支持很好但有些菜单翻译和英文版对不上。比如“Layer Contents”在中文版里叫“图层内容”“Plot Setup”叫“绘图设置”。如果看英文教程找不到对应菜单切换成英文界面再找。关于横坐标显示实际天数如果你的横坐标是时间序列比如第1天到第30天Origin默认可能显示1、2、3……你需要双击横坐标在“Tick Labels”里把“Type”设为“Date”然后选择合适的时间格式。或者手动设置刻度位置为1、5、10、15、20、25、30。关于图例横向排列前面提过在“Legend”属性里设“Horizontal”。如果图例项太多一行放不下可以设“Column”数量比如2列或3列。关于把某条曲线置于顶层在叠层图里如果曲线有重叠你可能想让某条曲线显示在最上面。右键曲线 → Order → Bring to Front。或者在图层的“Plot Details”里调整“Group”顺序。关于累积分布函数如果你画的是CDF图叠层逻辑和平常一样但要注意CDF是单调递增的偏移后曲线会一直往上走视觉上可能不太好看。这种情况建议用平铺图或者只叠3到4组。关于箱线图的叠层箱线图一般不平铺叠层因为箱体本身有高度叠起来会混乱。如果一定要叠用“Box Chart”的“Offset”功能但效果通常不如分组箱线图。最后说一个心态问题叠层图不是万能的不要为了好看而强行叠层。如果数据本身适合平铺就平铺。图的目的是传达信息不是炫技。我见过太多为了“高级感”把简单数据画得花里胡哨的图反而让读者困惑。先把数据讲清楚再考虑美观。
