ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Origin绘制等高线图:从散点插值到论文配图全流程指南

Origin绘制等高线图:从散点插值到论文配图全流程指南 本来想赶在组会前把热力图换成等高线图结果在Origin里折腾了半个下午数据导进去了图也出来了但怎么看都像一张色块拼接的抽象画没有那种一圈一圈的“等高”感。后来把层级、配色、插值方式挨个调了一遍总算摸清了这套逻辑。回头看Origin画等高线图这件事难的不是操作而是理解它到底在拿你的数据做什么。这篇内容我就按自己从“画出来”到“能看、能用、能放进论文”的过程来写包括数据格式怎么准备、矩阵表和XYZ列两种绘图路径怎么选、等高级别和配色怎么调、以及几个容易让人卡住半天的坑。如果你也在用Origin 2017到2021之间的版本基本可以照着操作。1. 等高线图的本质你的数据得先“铺成网格”很多人在Origin里画不出理想的等高线图真不是软件操作的问题而是数据格式根本没有满足等高线图的输入要求。等高线图不像散点图那样你给我一堆(X, Y, Z)我就能画。它需要的是“规则网格化”的数据把整个XY平面分成一个个小格子每个格子的中心或顶点对应一个Z值。然后软件在这些网格点上做插值把Z值相同的点连成一条线无数条这样的线叠在一起就成了等高线图。这个道理想明白之后Origin里的很多操作就顺了。你手里的数据通常会以两种形式存在第一类矩阵表Matrix。矩阵表本身就是天然网格化的行和列分别对应Y和X的坐标表格单元格里的数值就是Z。这种最省事直接选中矩阵就能画。第二类工作表里的三列数据X, Y, Z。这是绝大多数人手里数据的样子比如你测了一堆点的温度、浓度、压力。这类数据问题在于点往往是随机分布的不在网格上。你需要先让Origin帮你把这些散点“网格化”或者手动转换成矩阵表再画等高线。所以第一步永远是先搞清楚我有的是哪种数据如果是一堆X、Y、Z散点直接选中全部三列去点等高线图Origin其实也能出图但出图速度和效果就看你的点够不够密集、分布够不够均匀了。刚才说的这些我心里其实也是踩了坑之后才串起来的。最开始我拿到的是几十个野外测点Z是土壤重金属浓度点分布东一个西一个直接画出来的等高线图简直没法看。明白“网格”这件事之后一切才豁然开朗。2. 从工作表到矩阵表手把手把XYZ列变成矩阵如果你手里的数据是工作表里的三列X、Y、Z我的建议是别偷懒先转成矩阵表再画。Origin转矩阵的操作比较隐蔽但逻辑并不复杂。具体操作是这样的选中工作表中的三列数据注意一定是从头到尾完整选中不要漏行。点击菜单栏的“Workbook”在下拉里找到“Convert to Matrix”然后选择“XYZ Gridding”。弹出来的对话框里有几个选项核心是设置X和Y方向的网格点数。Origin会根据你Z值变化的复杂程度自动设置一个默认值一般默认值就够用。如果你希望等高线图边缘更细腻、过度更平滑可以手动调大网格点数比如把X从默认的20调到40。但要注意网格点数不是越大越好点数太多会让插值计算时间暴涨而且容易把噪声也插出来。点OK之后Origin会生成一个新的矩阵表。你可以双击矩阵表看看里面的结构此时行和列就对应网格坐标数值是插值后的Z。这里有一个非常关键的细节行列与XY轴的对应关系。很多人在Origin里画完等高线图发现Y轴方向反了或者X轴和实际位置对不上十有八九是矩阵转置Transpose的问题。如果转出来的矩阵表行列方向和你的预期相反在矩阵表上右键选择“Transpose”交换行列即可。另外如果你的数据本身就带有规则网格特征比如你是在一个10×10的样方里逐格采样每个格点都有X、Y、Z那完全不需要插值直接选中Z列数据所在的工作表区域在“Workbook”菜单里选“Convert to Matrix”下的“Direct”方式Origin会直接按行列摆放不损失任何原始信息。这种图最忠实于实测值适合做严格的空间分布表达。转成矩阵表之后画图就很朴素了选中整个矩阵表点击菜单栏“Plot”找到“Contour”下的“Contour Plot”一张最朴素的等高线图就出来了。这个时候图往往很丑颜色分层生硬、线条模糊但它已经是“标准等高线图”了剩下的事情就是调外观。3. 两种线路图矩阵法绘图和XYZ散点直接绘图差异在哪在前面我推荐先转矩阵再画图但Origin其实提供了另一条路径那就是在Worksheet里直接选中X、Y、Z三列然后点击“Plot”菜单选择“Contour”下的“Contour Plot”。它的成图机制和矩阵法不太一样我觉得有必要单独说清楚。当你直接基于XYZ列画等高线图时Origin不会自动帮你做网格化插值。它只是把所有散点投影到XY平面上然后根据Z值大小着色。如果你的点位足够多、足够密、覆盖整个绘图区域看起来也能勉强有等高线的样子。但如果你点位稀疏、分布不均出来的图就是一堆彩色的斑点完全看不出“线”的存在。这种情况下你需要去Origin的图层属性里双击图形打开Plot Details找到“Grid”选项。在“Grid”设置里勾选启用网格化Origin会提供各种插值方法比如Kriging、Shepard、Distance加权等。这里我强烈推荐Delaunay三角剖分加线性插值也就是Origin里默认的“Triangulation”方式因为它速度快且不会产生太多负值伪影。如果数据点是实测稀疏点选Kriging能获得更平滑的插值场但计算慢小数据量没关系。如果数据有大量离群点选Distance加权最稳定。如果你用的是规则网格采样数据直接用Direct方式不要做任何插值不然反而损坏原始数据信息。这条路径的好处是快捷适合在初步数据浏览阶段快速出图看看分布情况。但如果你是准备发论文、做报告我建议还是走矩阵表路线这样每一步的数据处理都透明可控不容易让人质疑你的处理流程。毕竟等高线图的实质是插值你插值方式选了什么、网格密度设的多少审稿人是要看清楚的。4. 等高级别、配色和填充把“色块图”变成真正的等高线图第一次用Origin画出来的等高线图默认配色是那种从蓝到红的彩虹渐变分层边界极其生硬一团一团的看起来很“脏”。一开始我不懂怎么调后来才发现核心都在Plot Details的各个选项卡里。双击等高线图打开Plot Details你会看到左边是图层结构右边有多个标签页。重点调整这几个地方Levels等高级别这里是控制Z值分成多少层的。Origin默认会根据数据最小值和最大值自动分层。你可以把层级数从默认的8改成10、15或者更多。层级越多等高线越密色彩过渡越细腻。但层级过密会让图变得拥挤尤其是小尺寸插图时会糊成一团。我一般先用10层看效果再增减。打开Levels设置后你会看到每一层对应一个数值这些数值就是等高线的“高度线”。你可以手动修改这些数值让它们落在有意义的位置比如在100、200、300这样的整数上。这个对于后续做区域分级统计特别有用。Fill填充这里决定等高线之间的颜色怎么填。有一个重要的单选题是“填充到等高线”Fill to contour lines还是“填充到边界”Fill to boundary。前者颜色变化严格沿等高线中断视觉上呈现明显的色带分界后者颜色连续渐变过渡更平滑。我个人偏爱Fill to boundary因为它视觉效果更柔和适合展示连续变化的空间场。如果你想要那种“圈层感”很强的图比如行政区域分级统计图的感觉就选Fill to contour lines。Color Map颜色映射这里决定每个Z值对应的颜色。Origin默认的彩虹色我不太推荐主要问题是严重色差和印刷不友好。更稳妥的选择是用双色渐变比如白-黄-红或者浅蓝-白-深蓝这种渐变色在高分辨率打印时依然清晰也方便色弱读者识别。在Color Map里可以手动选择每个级别对应的颜色也可以从一个预设色带里选。我的常用方案是最小值用浅蓝最大值用深红中间过渡自然的白-黄渐变整体就是蓝-白-黄-红四段。Labels标签如果你希望等高线上显示数值就在Labels里勾选Enable设置前缀、后缀、小数位数以及字体大小。这个功能对地形图、气象图特别有用但对密集的等高线图标签会和线条叠在一起需要调整标签的显示间隔。Origin支持“Skip”设置比如每隔一条线标一个数字或者指定只在某些层级上显示标签。Color Scale颜色标尺就是图右侧那个长长的颜色条。默认字体偏小你可以在Color Scale里设置刻度字体大小、标题文字和朝向。颜色标尺的标题建议写得有信息量比如“Pb含量 (mg/kg)”而不是一个孤零零的“Z”。调完这些你的等高线图基本已经能看了。但别开心太早还有几个隐藏的小机关要处理。5. 坐标轴、刻度范围和图层尺寸的调整细节一开始出的图坐标轴范围和数据范围未必匹配。尤其是转矩阵时如果网格范围设置得和实际数据范围不一致图边缘会出现大片的空白区域或者被拉伸的色块。处理办法是在坐标轴设置里手动指定X轴和Y轴的范围。双击坐标轴打开Axis对话框在“Scale”选项卡里可以设置From和To值。推荐把范围设定在数据实际分布范围附近不要留太多空白。等高线图不同于散点图空白区域会直接被填充色覆盖看起来特别不专业。坐标轴标题也要单独设置。双击轴标题输入你要的变量名和单位。注意Origin的默认字体是Arial期刊排版如果有字体要求很多是Times New Roman或Helvetica记得统一修改。全局修改字体很简单在空白处右键选择“Properties”在“Font”选项卡里把默认字体改成你想要的或者用菜单“Preferences”里的“Theme”设置一劳永逸。图层尺寸方面如果等高线图的横向和纵向范围差异很大比如X跨度300、Y跨度50默认的图框是正方形的图形会被压缩拉伸变形很严重。解决办法是在图层属性Layer Properties里锁定宽高比或者手动调整图层的长宽比例匹配数据纵横比。操作路径是右键点击图层左上角的图标选择“Layer Properties”在“Size/Speed”选项卡里设置宽度和高度让它们之间比例等于X跨度比Y跨度。这一点不处理你的等高线图就会像一张被拉扯的地图特别掉档次。6. 关于等高线图这几个坑一定要提前知道按照上面的步骤操作大部分人都能画出合格的等高线图。但有几个非常典型的问题我在这里单独列出来因为它们会让你在制图过程中反复卡壳。坑一矩阵表转置问题图出来方向是反的。如果你转矩阵后发现等高线图的东西方向或者南北方向和底图对应不上第一优先考虑行列转置而不是去调坐标轴刻度。矩阵转置操作不会改动原始工作表数据可以放心反复试。坑二XYZ散点直接画图结果只出点不出线。这个问题常见于散点数量较少的情况。解决办法就是在Plot Details的Grid设置里启用网格化插值或者干脆把数据转成矩阵表再画。散点数量少于几十个时三角剖分插值出来的等高线图基本没有可信度建议放弃等高线改用气泡图或IDW插值栅格图。坑三图层上出现大片空洞颜色断层明显。这通常是插值时遇到重复的XY坐标或者局部数据点过于稀疏插值函数无法外推到那个区域。部分情况可以通过增加网格密度缓解但也有本质原因是数据覆盖不足。这种情况下不要硬画等高线老老实实回去补测数据或者换一种展示方式比如只用散点着色。坑四导出图片后颜色失真和屏幕上看到的完全不一样。这个问题几乎人人都遇到过。Origin默认的显示颜色是RGB模式而论文印刷需要CMYK导出PDF时颜色会发生转换。解决方法是在导出图片之前先到菜单“Preferences”的“Color”里检查颜色模式需要印刷就选CMYK需要屏幕显示就选RGB。另外导出图片分辨率设置成300 dpi以上才能保证印刷清晰度。坑五文件换台电脑打开字体全变乱码。这个不是等高线图的专利但等高线图因为是大量文本框叠加最容易暴露字体兼容问题。建议在Origin里设置窗口底部状态栏的“Object Default”为使用系统字体或者干脆在发文件之前把图形复制成图片格式。我个人的习惯是Origin项目文件.opju只作为数据和分析备份最终成图一定通过“Export Graphs”导出为TIFF或PDF这样对方看到的永远是你想让他看到的。坑六从旧版本Origin里打开新版本画的等高线图图层全部消失。等高线图的图层结构比较特殊旧版本软件解析新版本生成的图层属性时经常会出错表现为图形区域空白或者颜色标尺丢失。这种情况没法彻底解决升级软件版本到统一版本是唯一出路。和其他Office软件不一样Origin的文件兼容性没那么好跨版本协作一定提前确认版本。7. 进阶技巧等高线图叠加地图底图或研究区域边界如果你的等高线图不是纯粹的函数图而是某个实际地理区域的数据比如土壤污染分布、地下水水位、气象要素的空间分布那你多半需要在等高线图底下叠加一个底图或者加上研究区的边界线。简单做法是把底图图片导入Origin图层背景。在图层属性里选择“Background”选项卡把底图图片加载进去然后将等高线图层的透明背景打开。这样等高线就叠在了底图之上。这个方法适合快速做汇报图缺点是无法精准对齐坐标只能手动调整图片位置和缩放比例。更进阶的做法是使用Origin的“Insert”菜单导入ESRI Shapefile格式的边界文件。新版Origin2020以后对Shapefile的支持比旧版好了很多导入后边界线会自动对齐坐标。如果你的地图数据是WGS84经纬度坐标而Z值数据用的是UTM投影坐标记得先把所有数据统一到同一坐标系再做叠图。这一步很关键不然边界和等高线之间的偏移会让你怀疑人生。这些叠图的进阶操作虽然稍微有点复杂但学会之后对报告和论文的成图质量提升是立竿见影的。8. 数据量的控制大样本数据的等高线图优化思路还有一个容易被忽视的问题就是数据量非常大的时候等高线图怎么保证效率和效果。比如你用传感器或者遥感手段获得了十几万条XYZ记录这种情况下直接导入Origin画图极大概率会把软件卡死。我的建议是先用数据预处理工具对数据进行抽稀和网格化把点数量降到几千个级别再进入Origin操作。Origin自带的“Reduce”功能可以按网格或者按距离抽稀在“Analysis”菜单下找“Data Manipulation”里的“Reduce”即可。抽稀的时候注意保留区域边缘点不然等高线的边界部分会发生收缩效应导致边缘区域缺失数据覆盖。同样在转矩阵时如果遇到十万级别以上的数据Origin的XYZ Gridding过程会非常慢。可以先筛选出一部分有代表性的点或者用其他软件比如Surfer完成网格化再把网格数据导入Origin成图。专业的地理信息数据处理软件做插值的效率和算法成熟度仍然比Origin内置的插值有优势。Origin适合数据量适中、交互式调图的工作流大数据的空间插值工作建议前置处理。我个人的团队习惯是原始数据用Python/R做预处理和抽稀输出一个规规矩矩的矩阵表然后导入Origin做最终成图和排版。这套工作流既保证了处理能力也保留了Origin在图表美学上的强项两个工具各自发挥优势效率提升非常明显。9. 我的一点个人心得和补充建议接触Origin画等高线图这些年我最大的感受是出图快不快、好看不好看关键往往在数据准备阶段不在软件技巧本身。你手里的数据如果足够规范哪怕用Origin默认设置也能画出不错的结果但如果你数据乱糟糟后面再怎么调也很难调到满意。所以如果你正打算开始画等高线图不妨先花点时间把数据清洗干净、排查一下重复点、想清楚要不要转矩阵、选好插值方案这比打开软件反复试各种参数要有效得多。另外一个小建议在Origin项目文件.opju里养成把矩阵表、原工作表、最终图形放在同一个文件夹下的习惯命名也要规范。等高线图的项目文件往往涉及多个中间步骤的矩阵表几个月后你自己回来看恐怕都要琢磨半天哪个是哪个更别说师弟师妹接手的时候有多头疼。我一般会命名成“data_原始采样”、“data_插值矩阵_10x10”、“图_土壤Pb_插值_填充”这种格式清晰直观。如果你在操作中遇到了Origin某一步找不到菜单、或者参数选项设置后没反应的情况先别急着怀疑软件坏了。多半是因为你没有正确选中对象比如没有先选中矩阵表就去点Plot菜单或者没有先双击图形区域就去找Plot Details。这一步操作逻辑理顺了基本上所有弹窗找不到的情况都能解决。画等高线图这件事说难不算难说简单也得摸索一阵。希望这篇内容能帮你少走点弯路直接把图做得能看、能交、能发表。
返回列表