尧图精选

Origin多图层绘图:双Y轴、图层对齐与科研配图实战

🕒 发布时间:2026/10/1 5:39:47 📁 来源:尧图网络
三组数据摆在面前X 轴完全一致Y 轴的量级差了三个数量级一个是 0.001 级的微弱信号一个是 10^4 级的计数值。把它们画进同一个图层小的那条线就贴在地平线上变成一根直尺。很多人第一反应是把数据乘个系数放大一下画完再在心里记住这条线其实要除以 10000——这种图自己看还行一旦交给别人或者放进报告里基本等于埋雷。用 Origin 做多图层绘制方法解决的正是这类问题让几套量纲不同、坐标范围不同、甚至横轴都不同的数据共享同一个图形窗口各自拥有独立的坐标系还能被整整齐齐地排版成一张可以直接用在论文里的图。这篇东西写给谁看写给已经会用 Origin 画基本折线图、柱状图但一到双 Y 轴多面板图层对齐就开始靠鼠标硬拖的人。下面讲的是我在处理光谱、电化学和统计类数据时反复用过的一套流程重点不在点哪个按钮而在于每一步为什么要这么做、不这么做会出什么问题。1. 一张图装不下三组数据多图层到底在解决什么问题1.1 单图层硬塞数据的三种典型失败第一种失败是量纲碾压。一个图层只有一套坐标轴刻度Y 轴范围被大数值数据撑到 10^4 之后小信号数据的视觉分辨率就彻底没了。有人用工整的系数把数据缩放后画上去图的形状对了但读图的人无法从轴上直接读数等于把换算工作转嫁给了读者这在正式报告里是不合格的。第二种失败是横轴不共享。有些数据虽然画在同一张图里但横轴其实分属两类——比如一条是波长nm一条是波数cm⁻¹。它们之间是倒数关系非线性硬塞进一根轴必然有一个是错的。这种情况只能用独立图层靠图层之间的位置关系来表达这条轴在下方、那条轴在上方。第三种失败是图形类型冲突。柱状图和折线图叠在一起做对比是常见需求但在一个图层里柱子的 X 位置和折线点的 X 位置会互相干扰尤其是柱状图开了组内偏移之后折线的落点会莫名其妙地偏。把柱子和折线放到两个图层、共享同一根 X 轴这个问题从根上就不存在了。1.2 多图层的本质一个 Graph 窗口里装多套独立坐标系Origin 里的图层Layer不是 Photoshop 那种透明画布叠加的概念它是一整套完整的坐标系有自己独立的 X/Y 轴、自己的刻度、自己的坐标范围、自己的绘图区边框、自己的图例条目池。一个 Graph 窗口里放几个图层就有几套这样的坐标系它们共用同一个页面Page页面有物理尺寸单位是厘米。理解这一点非常关键因为后面所有的对齐联动比例问题本质上都是在处理两组参数之间的关系一套是逻辑参数坐标轴从多少到多少一套是物理参数这个绘图区在页面上占几厘米、位置在哪儿。很多人的图看起来别扭就是因为只调了逻辑参数没管物理参数。举一个具体的例子。图层 A 的 Y 轴是 0 到 100图层 B 的 Y 轴是 0 到 1。如果两个图层在页面上的高度都是 6 厘米那么 A 图层的刻度密度是每厘米约 16.7 个单位B 图层是每厘米 0.167 个单位。视觉上两条曲线的斜率看起来差不多但实际上一个是陡峭一个是平缓图给人的直觉是错的。想让它们可比就必须让两个图层的单位密度一致这就是后面要讲的 Units per cm 的意义。1.3 什么时候不该用多图层多图层不是万能药。如果两组数据的量纲本来就可以用同一套轴表达比如两条都是同一个指标的重复测量那硬拆成两个图层只会让图例变复杂、让读者多花时间理解轴的关系。另一种不适合的情况是为了好看而堆图层——有人把一个简单折线图拆成背景层、网格层、数据层、标注层四个图层看起来很专业实际上每次改数据都要重新对齐一遍维护成本极高。我的判断标准很粗暴如果这组数据换一根轴之后读者读图的顺序不会变得更顺畅那就不该拆。拆图层的唯一理由是让图形表达的信息更清楚不是为了展示操作技巧。2. 先把工具箱认清Origin 里能用到的图层类型和它们的边界2.1 2D Cartesian 图层和它的几个变体最常用的是二维直角坐标图层。用 Plot Setup 新建图层时默认就是这么一套。它的变体主要是在坐标轴的数量和位置上做文章可以在下方加一根 Top X 轴、右侧加一根 Right Y 轴形成四边都有轴的图。这种图在多参数对比里很常见比如下面 X 是时间、上面 X 是温度左右 Y 分别是两个不同的响应量。需要注意的是加出来的 Top X 和 Right Y 默认是跟随关系它们并不自动拥有独立的数据。要让它们显示不同的物理量得手动去设 Scale 和 Tick Labels或者在图层里挂上对应的数据集。我见过不少人加完轴之后发现上面那根刻度是空的或者和大轴完全一样原因就在这里。2.2 Double-Y 与 Multiple-Y两条以上纵轴的官方解法如果只是要两条纵轴用 Double-Y 图层最省事Plot Setup 里选 Double-Y 类型左边一组数据、右边一组数据Origin 会自动生成两层结构并且共享 X 轴。它的好处是 X 轴的联动是内置的你改一层另一层跟着动。三条以上纵轴就要用 Multiple-Y 了。新版本里可以在同一个图层上挂多条 Y 轴逐条设置颜色、刻度和标题。这类图在实际汇报里很有冲击力但风险也大轴一多颜色和线型的对应关系就容易混乱读者的认知负担会陡增。我的经验是最多三条轴超过三条就改用多面板牺牲一点同框对比的直观性换取可读性。2.3 Stack、Waterfall、Contour 这类自带布局的图层Origin 里有一批开箱即用的图型比如瀑布图、等高线图、堆叠线图。它们的共同特点是内部其实已经用到了多图层或者多数据集的偏移机制只是被封装成了一个命令。用它们的价值在于快代价是可控性差——想微调某一层的偏移量、想单独给某一层换颜色往往要绕到图层管理里去改。我处理大量同构数据比如几十条不同条件下的光谱时会优先用 Stack Lines by Y Offsets 这类功能一次性铺开然后进图层管理逐个微调。手动一层层加数据在数据量大的时候完全不现实。2.4 多面板与 Layout 页面两种拼图思路的取舍需要把好几张独立的图拼成一张大图时有两条路。第一条是 Multi-Panel直接把若干组数据按几行几列铺进同一个 Graph 窗口每个面板是一个图层。第二条是 Layout 页面把已经画好的多个 Graph 窗口像贴图一样摆到一张更大的版面上。两者的差别在于数据是否还活着。Multi-Panel 里每个面板仍然连接着原始工作表改数据图就变Layout 页面里嵌入的是图形对象改数据需要回到原图再更新。做论文配图时我一般用 Multi-Panel因为投稿过程中改数据、改刻度的概率很高绑定着数据能省掉大量重复劳动。3. 从零搭一个双 Y 轴图每一步在改什么3.1 数据准备阶段最容易忽略的列角色工作表里每一列都有角色X、Y、Y Error、Label、Disregard 等。这件事听起来是常识但图层出问题时有相当一部分根源就在这儿。如果用来做 X 的那一列角色没设成 X新建图层时 Origin 会自己猜猜错了就出现所有点堆在一根竖直线上这种诡异现象。我的固定动作是拿到数据先全选右键把角色统一设成 Y然后手动把第一列设成 X。这么做比让软件自动判断可靠得多尤其是数据里含有时间字符串或者不规则间隔的采样点时。另外如果几条曲线的 X 不是同一组值比如两条曲线的采样点不同不要图省事共用一列 X老老实实各自带一列否则插值出来的东西不是你要的。3.2 用 Plot Setup 建图层而不是靠鼠标拖拽拖拽列到图上确实快但它在建多图层时有个致命问题你很难精确控制这次是新建一个图层还是加到已有图层里。Plot Setup 对话框虽然界面朴素但它是唯一能把数据 → 图层的映射关系看全的地方。在 Plot Setup 里上半部分是可用数据列表下半部分是图层结构树。选中某个图层再选数据点 Add数据就被挂到那个图层上。想新建图层就点 New 然后选类型2D、Double-Y、Multiple-Y 等。这个操作顺序的好处是每一步的结果都能在结构树里立刻看到出错了当场就能发现而不是画完才发现数据挂错了层。3.3 两条 Y 轴的刻度、颜色与单位密度对齐双 Y 轴建好之后第一件事是给两条轴定范围而不是急着调颜色。范围建议从数据本身的物理意义出发如果左轴是浓度就从 0 开始如果右轴是响应信号允许从负值起。不要为了让曲线不贴边去硬改范围那会让刻度的整数间隔变得难看。第二件事是单位密度对齐这是让双 Y 轴图从能看变成专业的关键一步。假设左轴范围 0–100绘图区高度 6 cm那么密度是 16.67 units/cm。如果右轴范围 0–5000想让两条曲线的视觉高度相近右轴的高度也应该接近 6 cm密度约 833 units/cm。操作路径是打开图层属性在 Link Axes 相关设置里勾选联动并填写 Units per cm或者干脆手动把两个图层的位置和高度设成一样的数值。很多双 Y 轴图看起来一大一小的问题根子都在这里。第三件事才是颜色。经验做法是轴的颜色跟着曲线走。左轴、左轴上的曲线、左轴的标题三者同色右轴同理。这样读者不需要看图例就能建立起哪根轴对应哪条线的映射。3.4 图层激活状态带来的那些灵异事件Origin 的 Graph 窗口里始终有一个当前活动图层窗口左上角会有标记提示。你做的任何改轴、改图例、加文字的操作作用的都是当前活动图层。这就导致一个高频问题明明改了刻度结果改到了另一个图层上回头一看自己那层纹丝不动。解决方法是养成动手前先点一下目标绘图区的习惯确认活动状态变了再操作。另外图层管理面板里可以一次性看到所有图层的数据集和显示状态如果怀疑改错了对象去那里核对一下比来回试要快得多。图层多的时候我基本是开着这个面板工作的。4. 图层多了之后的空间管理位置、尺寸与联动4.1 用图层属性定尺寸不要用鼠标拖鼠标拖绘图区边框看起来很直观但它在多图层场景下几乎必然带来错位你以为两个图层左右对齐了实际差了两三个像素放大看很明显。正确做法是通过图层属性里的 Size 页直接用数值填 Left、Top、Width、Height单位选厘米。这一步的价值在批量制图时会被放大。假设你要出十张结构相同的图只要把这套尺寸参数记下来或者保存成一个模板格式应用过去十张图的布局就会完全一致。用鼠标拖的话十张图十个样最后排版时又是一轮返工。4.2 共享一根 X 轴联动设置和手动对齐两条路横轴联动有两种实现方式。一种是自动联动在图层属性里把当前图层链接到主图层之后改主图层的 X 范围从属图层跟着变。这种方式适合分层结构明确的场景比如双 Y 轴、上下两层共享时间轴。另一种是手动对齐两个图层互不联动但把 Left 和 Width 设成完全相同的值X 的 Scale 也填成一样的范围。这种方式的好处是稳定——不会出现我改了 AB 莫名其妙也跟着变了的情况。代价是后期维护要靠自觉改一处就得改两处。我处理关键图时更倾向手动对齐因为投稿返修阶段最怕的就是意外联动把图改坏了。4.3 用排列功能批量排版Graph 窗口空白处右键能找到排列图层的功能。它能做的事比多数人以为的多指定行数和列数、设置行间距和列间距、让所有面板等宽等高、统一边框。手工摆六个面板至少十分钟用它几秒钟。我的常用配置是两行两列、行列间距按页面宽度的 3% 设置、所有图层尺寸自动拉齐。间距这个数值不要设成 0因为面板紧贴在一起时相邻的两根坐标轴会粘成一条线看起来像一根轴两个标签非常不专业。留一点点缝隙视觉上立刻清爽。4.4 图层管理面板改名、查数据、隐藏图层数据一多图层名字就乱了。默认名称是 Layer1、Layer2画到第六层的时候你已经不记得哪层是哪组数据了。图层管理面板里可以给每层改一个有意义的名称比如左轴-浓度右轴-电流。这个动作花三十秒后期改图能省半小时。面板里还能做几件实用的事查看每一层挂了哪些数据集临时隐藏某一层看效果隐藏不等于删除调整图层的叠放顺序。有时候两个图层内容重叠谁在上面会直接影响可读性这时候顺序就需要手动调。5. 图层一多就容易翻车的细节图例、轴标题与数字格式5.1 图例从竖排改成横排的两种做法图层多了以后图例条目会跟着变多竖排图例能占掉半张图的高度。解决方式有两种。第一种是改图例对象的列数把单列改成多列条目就自动横向铺开这种方式快但列宽和图例位置的微调要靠眼睛看。第二种是手动编辑图例文本用占位控制符逐条声明然后自己用空格和换行排出想要的形状这种方式麻烦但排出来的效果最干净尤其是条目名字长短不一的时候。一个容易踩的坑是手动改过的图例不会再随图层自动更新。后面如果删了一条曲线图例里还留着它的名字容易被忽略。所以手动编辑图例这一步最好放在数据完全定稿之后再做。5.2 数字格式与小数位数坐标轴刻度的数字格式在刻度标签设置里改可以选择定点小数、科学计数、工程计数等小数位数直接填。这里有个实际问题同一张图里左轴是 0.002 这种小数量级右轴是 1500 这种大数量级如果都用定点小数左轴会挤成一团右轴会显示一长串没意义的零。这时候左轴用科学计数、右轴用定点整数是最清楚的组合。不要在图上出现有效数字不一致的情况。比如左轴刻度写 0.0020、0.0025右轴写 1500、2000前者四位有效数字、后者两位读者会困惑到底哪个精度是真的。统一到同一精度级别或者干脆在轴标题里说明单位都是可行方案。5.3 字体统一与主题复用默认字体不符合期刊要求是常态。改的方式有两条一条是逐张图改改到最后容易漏另一条是改全局默认然后保存成主题格式后续新图直接套用。我一般先把常用的字体、字号、轴标题格式、刻度朝内朝外这些一次性配置好存成主题之后所有图都基于这个主题生成。期刊换要求的时候只改主题再批量应用比一张张改效率高一个数量级。需要提醒的是主题保存的是格式不是数据。应用到新图上之后图层的数量、位置、坐标范围还是要单独检查。我吃过一次亏主题里的图层高度是针对六面板图设计套到双 Y 轴图上之后绘图区被压得很扁曲线几乎看不出趋势。5.4 坐标轴比例失真与看起来被拉长的图改动绘图区的宽高比会直接改变图的视觉印象。一个原本上升平缓的趋势把宽度压缩一半之后会显得很陡。这在科研图里是有风险的因为它影响读者对变化速率的判断。处理办法是涉及速率、斜率的图尽量保持绘图区接近正方形或者至少保持宽高比在合理区间如果确实需要拉长来容纳更多横轴内容就在正文或图注里说明。另一种做法是锁定宽高比让软件在缩放时保持比例不变避免手滑改坏。6. 几类典型多图层图的实操复现6.1 柱状图叠在一起怎么分开柱状图叠在一起通常不是图层的问题而是分类变量和分组变量的角色没设对。如果你有两组柱子要在同一 X 位置并排显示需要的是分组结构而不是堆叠结构。做法是先确认用于分组的列角色正确然后在柱状图的绘图细节里把偏移量从 0 调成合适的值柱子就会向两侧错开。另一种情况是不同数据集的柱子落在同一个 X 坐标上互相遮盖这通常因为没有给它们设不同的 X 偏移或者它们被画在了同一个图层里而没有分组信息。最干净的办法是把两组柱子拆到两个图层共享同一根 X 轴然后分别设置偏移量一正一负。这样既保证了视觉上的并排又让每组柱子的颜色、边框、标签都能独立控制。还有一种情况是原本想画并排结果画成了上下累计。这是柱状图类型选错了把分组柱改成了堆叠柱。两者的视觉差异很大但菜单里就挨着点错很正常。6.2 瀑布图的多图层结构瀑布图的本质是多个柱子在 X 方向错位排布同时用连线或折线标出累计值。Origin 里有现成的瀑布图模板直接用能省不少事。它内部的结构通常是一层柱子、一层累计折线有时候再加一层基准线图层。自己搭的话思路是把每个阶段的贡献值作为一组柱子在柱状图绘制选项里设置 X 方向偏移让它们首尾相接而不是重叠。然后新建一个图层画累计值折线把这个图层的高度、Left、Width 调成和柱子图层一模一样这样折线的节点才会精准落在柱子的中心线上。这一步如果尺寸不一致折线会整体偏移半格看起来非常别扭。我个人的偏好是数据量小少于十段的时候手工搭可控性好段数多的时候用模板生成再微调因为它自动算偏移和累计比手算快得多。6.3 频率分布直方图叠加拟合曲线这类图的典型结构是两层一层是直方图柱状一层是拟合曲线或者概率密度曲线折线。难点在于两者的纵轴含义不同——直方图是频数曲线是密度。如果直接叠在一起曲线的位置会因为量纲问题跑到图外或者贴地。处理方式有三条路。第一条是把直方图改成密度形式这样两者量纲一致可以直接叠。第二条是保留频数把曲线放到右 Y 轴这就是标准的双 Y 轴图层结构。第三条是用同轴异刻度在图层属性里给第二组数据设一套独立的刻度这种方式其实介于单图层和多图层之间适合快速出图但不利于后续调整。我最常用的是第二条理由是物理含义清楚左边是有多少个样本落在这个区间右边是概率密度有多高两个问题分开回答。代价是图看起来稍复杂需要在图例里说清楚哪条线对应哪根轴。6.4 符号上加横线平均值标注的规范做法给符号加横线比如表示均值看起来是个小问题实际很容易做成像是随手贴上去的。比较稳的做法有两种。一种是在文本对象里用上下划线控制符把字符包起来让横线的位置和字符宽度自动匹配具体控制符写法各版本略有差异建议先在空白文本里试一次确认效果。另一种是插入一个独立的直线对象手动放到字符正上方然后把这个直线和文本对象成组以后移动时一起动。第二种方式土但胜在可控。手工摆的横线宽度可以精确到和字符一样宽这在图注里看起来是最整齐的。用第一种方式的话如果字体变了横线位置可能跟着偏需要重新检查。如果图里有多处这样的标注建议统一用一种方式不要一半用控制符一半用手摆的线。混用之后一旦整体缩放或者换字体两批标注的表现会不一致返工很麻烦。最后说一个我自己反复验证过的小习惯任何多图层图做完之后先把整个 Graph 窗口导出成图片放大到 200% 看一遍。在 Origin 窗口里看着对齐的两根轴导出之后常常能看出半像素级别的错位尤其是用鼠标拖过尺寸的图层。这个检查动作花不到一分钟但能挡掉大部分交出去之后被人指出来的尴尬。层数越多这一步越值得做。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →