ARTICLE DETAIL

资讯详情

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

SciDavis完全指南:Mac上免费替代Origin的科研绘图工具

SciDavis完全指南:Mac上免费替代Origin的科研绘图工具 从Origin“叛逃”到SciDavis的过程我一直想找个时间好好聊聊。工科生做科研画图是绕不过去的一关。不少人和我一样最开始用的是Origin但它在Mac上的体验说多了都是泪——要么靠虚拟机跑Windows要么用老掉牙的版本硬撑着。后来我转到SciDavis算是彻底解脱了。这软件完全免费、开源、跨平台在Mac上原生运行界面逻辑和Origin非常接近很多习惯能无缝迁移。这篇文章我就把从安装到出图的全流程写清楚包括那些官网文档里不会写、只有实际踩过坑才知道的细节希望能帮你省点时间。1. 为什么是SciDavis一个免费跨平台的Origin替代品1.1 Origin用户迁移成本有多低先说说SciDavis到底是什么。它是从QtiPlot分叉出来的开源项目定位就是科学数据分析和二维绘图功能上对标Origin。对日常科研绘图来说你需要的散点图、线图、柱状图、误差棒、拟合曲线、多图层排版它全部覆盖。我见过不少人在Mac上还在用老办法画图一种是用虚拟机上Windows跑Origin另一种是干脆用Python的matplotlib重新学一套。前者的问题是虚拟机里开Origin数据交互、复制粘贴经常出毛病图存到本地再拷回来路径乱成一团后者的问题是如果你不是程序员出身“用代码调颜色、改坐标轴”这套逻辑本身就非常劝退。SciDavis的好处在于它是原生Mac应用不需要任何虚拟机而且操作是纯图形界面点鼠标就能完成跟Origin的用户习惯几乎一一对应。1.2 SciDavis和Origin的核心差距当然说它完全替代Origin那也不客观。SciDavis在高级统计分析、大数据量的处理速度上和Origin还有差距部分复杂的3D图效果也确实不如商业软件。但反过来看绝大多数理工科研究生毕业论文里的图它画起来绰绰有余。我自己的课题组包括我自己带的学生现在从数据整理到出图全流程都在SciDavis里完成。如果你还在纠结“该不该换”我的建议是先用它画一张你近期论文里最典型的图。画完你会发现那些所谓“不顺手”的地方其实只是习惯问题。2. Mac上安装SciDavis两步走方案与踩坑指南2.1 确认处理器架构Intel还是Apple SiliconMac上装软件的第一步永远是先搞清楚自己的芯片是Intel还是Apple Silicon。这个步骤看着基础但真的决定你下载哪个版本。点左上角苹果图标选“关于本机”里面能看到芯片信息。这一步不能省下载错版本可能导致安装包直接打不开或者打开后闪退。Apple SiliconM1/M2/M3/M4系列下载arm64版本运行速度更快功耗控制更好。Intel芯片i5/i7/i9等下载x86_64版本。2.2 方式一下载官方安装包推荐新手使用SciDavis的官方发布渠道是SourceForge官网会把最新稳定版挂出来。进入下载页面后找对应macOS的dmg文件。目前官方给Mac用户提供的是已经编译好的.app包下载后直接拖进“应用程序”文件夹就能用。大概流程是打开SciDavis官网scidavis.sourceforge.net点击Downloads进入下载页。在Files列表中找到SciDavis-x.x.x-macos.dmg名字可能随版本变化。下载完成后双击dmg把SciDavis图标拖入Applications文件夹。到“应用程序”里双击启动。如果你和我一样用的是Apple Silicon芯片记得确认下载的是arm64构建这在文件名里一般能看出来。2.3 方式二Homebrew安装需要考虑依赖问题如果你平时用Homebrew管理软件也可以尝试直接命令行安装这个方式的优势是后续升级方便一条命令就能搞定。brew install scidavis但这里有个坑Homebrew公式仓库里的SciDavis可能不是最新版而且它依赖的Qt库如果和你系统里其他软件要求的版本冲突安装过程可能会卡住或者失败。我遇到过几次最终结果往往是“安装了一堆依赖但程序没装上”。另一种选择是用cask不过SciDavis官方在Mac平台的发布策略在不同时期不一样有的版本有cask有的没有。brew install --cask scidavis如果这个命令提示Error: Cask scidavis is not available说明当前仓库里没有对应的cask那就换回源码编译或者方式一。个人看法除非你特别喜欢用命令行管理一切否则还是直接用官方dmg省心。2.4 macOS拦截绕过Gatekeeper的正确姿势刚装好双击图标macOS可能提示“无法打开因为Apple无法检查其是否包含恶意软件”——这是Gatekeeper在拦。第一次遇到这种情况不用慌这不是软件有问题而是因为SciDavis是开源项目没有花钱买Apple的开发者签名。处理方法有几个最稳妥在“应用程序”文件夹里找到SciDavis按住Control点按图标相当于右键选“打开”然后在弹窗里点“打开”。这个方法会把你手动加入白名单以后双击就能直接启动。也可以去“系统设置 - 隐私与安全性”滚动到“安全性”区域看到一条关于SciDavis被阻止的提示点“仍要打开”即可。命令行方式xattr -dr com.apple.quarantine /Applications/SciDavis.app这句命令是从安装包上移除隔离属性。如果你后面想写脚本批处理其他软件可以用这个命令。注意不建议把“允许任何来源”全局打开那会降低整台机器的安全性。按需处理个别软件就好。2.5 安装失败的排查清单如果安装过程不顺利先别急着重装对照下面几个最常见的原因看一下下载的是dmg但双击提示“已损坏”通常是下载不完整或者文件来自网络被标记。重新下载然后用2.4节提到的xattr命令。拖入Applications时提示“不能修改应用程序文件夹”重启电脑或手动把图标拖到访达里的“应用程序”文件夹不要靠拖拽到Dock。启动后闪退很有可能是下载了错误架构的版本。确认芯片型号后重新下载。卡在“安装包”阶段很久不动如果你是从某些镜像站下载的校验一下文件大小是否跟官网一致。3. 熟悉SciDavis主界面先搞懂Table和Plot的关系3.1 核心概念数据和图形是分离的打开SciDavis后你会看到一个多窗口界面。左侧是Project Explorer类似资源管理器右边是工作区。初次打开时工作区里会有一个默认的Table窗口里面是一张空的数据表。这里的关键概念是Table数据表和Plot绘图窗口是分离的。你用Table管理数据用Plot展示数据。这跟Origin的逻辑一样但SciDavis的组织方式更清晰——一个项目下可以挂多少个Table、多少个Plot都随便所有内容被保存成一个项目文件.qti或.sciprj格式。换句话说你在一张图里做的颜色、坐标轴、字号等改动不会影响原始数据表。数据表可以保留原始测量值绘图窗口可以反复调整样式而不破坏数据。3.2 菜单布局和鼠标操作的小细节SciDavis的菜单栏在屏幕顶部是标准macOS风格的。最常用的几个菜单File管理项目、导入数据、导出图片。Table操作当前数据表比如添加列、设置列属性。Plot创建图形核心入口。Analysis数据分析工具拟合、傅里叶变换、滤波都在这。鼠标操作方面SciDavis没有像Origin那样丰富的右键菜单。很多操作通过菜单栏的按钮或者快捷键完成。有一个我常用的高效操作在Table窗口直接用鼠标选中一整列数据然后在Table-Set Column As里把列类型改掉X、Y、Label等再执行Plot命令。这样能省去不少点击。3.3 先做一个最简单的线性图准备工作做完我们可以先画一张最基础的线性图把整个流程跑通打开SciDavis后默认生成一个Table1。在Table1里输入两列数据第一列是X轴比如浓度第二列是Y轴比如响应信号。按住鼠标左键同时选中这两列数据。点顶部菜单Plot - X Y - Scatter/WatPlot 之类的选项。执行后工作区会出现一个新的绘图窗口里面就是默认样式下的数据图。默认样式通常比较丑但这不重要第一步是先把数据画出来。后面“论文级美化”部分会专门讲怎么调。4. 数据导入与准备从Excel、CSV到SciDavis4.1 数据格式的硬性要求做科研的人数据一般不会手动敲进去更多是从Excel或CSV文件导入。SciDavis对数据格式没有太高的要求但有几个地方要注意。文件名和路径最好不要包含中文或特殊字符。表格导入时第一行如果有表头列名称SciDavis会自动识别为列名如果你不想要它当数据需要在导入前告诉软件“首行为表头”。时间、日期这类非数值型数据如果直接用默认导入有时会被识别成文本列画图时表现异常。建议先把时间转换成数值形式如Unix时间戳再导入。4.2 从Excel复制粘贴最简单的方式我平时最常用的是直接复制粘贴在Excel里选好数据区域注意要包含列名复制然后切到SciDavis的Table窗口选中第一个单元格按CommandV粘贴。SciDavis会按照行列结构自动把数据填进去。这个方法的优点是不需要经过文件系统数据如果带着单位直接在这一步就整理好了。缺点是有时候Excel“智能”地帮你改掉了一些数据格式比如长串数字变科学计数法粘贴过来会有偏差。遇到这类问题先回到Excel把单元格格式设置成“数值”或“文本”再复制。4.3 从CSV/TXT文件导入数据量大或者需要反复读取时用文件导入更靠谱。菜单里选File - Import - ASCII File然后选择你的CSV或TXT文件。这里有一个弹窗可以设置分隔符逗号、制表符、空格等如果打开后数据乱成一团多半是分隔符选错了。导入后习惯性做一件事打开Table窗口检查一下列的数据类型是否正常。方法是在列上方的灰色单元格上右键Control单击或者通过Table菜单的Set Column As确认到底是X、Y还是None。数据类型错了会导致后面画图时坐标轴异常这是新手很容易忽略的问题。4.4 特殊数据误差棒数据的准备方式要画误差棒Error Bar需要在数据表里建立对应的误差列。SciDavis的误差棒支持三种形式固定值、百分比、独立数据列。固定值整列数据使用同一个误差值适合已知全局误差的测量。百分比按每点数值的固定比例计算误差。独立数据列每一行数据对应一个误差值这是最常用的方式。用独立数据列时把误差值单独放一列画图后在图层属性里指定该列为误差来源。这个细节后面“误差棒”部分也会再提一遍因为它是科研论文中最常见的需求之一。5. 核心实操绘制一张符合论文要求的数据图5.1 从选中数据到出图完整的绘图流程把数据准备好后完整的绘图流程可以拆成五步。这五步是SciDavis绘图的骨架后面所有复杂图都是在这个基础上叠加出来的。第一步确定XY列。在Table窗口里选中X列和Y列这里有几个方式你可以按住Command逐列点击选择也可以按Shift选择连续区域。建议把X列拿到左边Y列放右边顺序上更直观。第二步调用Plot菜单。根据你要画的图型选择对应的菜单线性坐标的X-Y散点图和线图选Plot - X Y - Line/Symbol。柱状图选Plot - Column/Bar。双Y轴图选Plot - Multi-Panel 或后面用图层功能叠。第三步初步看图。图形生成后先不急着美化检查数据是否完整出现在坐标范围内。如果某些点不在图内多半是坐标轴范围没设对。改坐标范围的方法是双击坐标轴在打开的对话框里调整起点、终值。第四步美化坐标轴和刻度。这是下一小节的重点。第五步导出图片。File - Export Graph设置格式和分辨率保存。5.2 坐标轴设置范围、刻度和科学计数法科研绘图中坐标轴是整张图的门面但也是被很多人忽略的地方。双击坐标轴比如X轴会打开Axis对话框里面可以分模块设置Scale设置坐标轴的范围和刻度步长。你可以选择“自动”但很多时候需要手动固定尤其当你想让多张图统一坐标范围时。Ticks设置主刻度和次刻度数量、长度。物理类期刊普遍喜欢刻度朝内工程类期刊喜欢朝外具体按你们领域的习惯来。Numbers设置刻度标签的格式。如果数值跨度很大比如从100到10000建议勾选科学计数法或者用分式形式。坐标轴的范围用什么原则来确定我自己的习惯是让数据占满整个绘图区域又不是特别贴边。数据范围是0到45的情况坐标轴我会从-2设到50左右给空白一点呼吸空间。同类图之间的坐标轴范围务必保持一致方便读者对比。5.3 曲线和符号的样式调整双击绘图区里的曲线或者在图层上右键选择“Plot Properties”会弹出设置面板。这里能调节的核心参数有线条线型实线、虚线、点线、线宽Line Width论文中常用1.0-2.0 pt具体看你们期刊要求。符号Symbol样式圆、方、三角、大小Size。如果你有多条曲线建议符号形状和颜色都做区分而不仅仅是颜色区分因为黑白打印时颜色会失效。连接方式点线连接有连接线且带符号、散点连接无连接线、纯符号、线状连接有连接线但无符号。多组数据放一张图时用一个原则有多少条曲线就保证它们之间有“非颜色”的区分度。比如曲线1用实线加实心圆曲线2用虚线加空心方曲线3用点线加实心三角。5.4 图例Legend的调整策略SciDavis会自动生成图例但默认位置和内容往往都不够好。双击图例可以选中它拖动到合适位置也可以在属性里修改文字内容。图例的文字我建议直接用英文不要用中文。很多期刊的模板本身就是英文图注图例里保持英文省得后面投外文期刊还得再改一遍。其次图例不要遮挡数据趋势线。如果数据点占据了图的右侧区域把图例拖到左上角空白处如果左上角也挤就放图的顶部居中。5.5 给字体和边框定一个标准这里有一条我非常想强调的经验一篇论文里所有图的字体、字号、线条粗细必须统一。这不是玄学是编辑部审稿时最容易挑出来的问题。我自己用的比较稳的一套参数供你参考图内文字字体Arial部分物理期刊偏好Times New Roman投之前查一下期刊要求就行。坐标轴刻度数字字号9 pt或10 pt。坐标轴标题字号10 pt或11 pt比刻度数字大一号。线宽0.5 pt网格与坐标轴、1.0-1.5 pt数据曲线。符号大小5-7 pt。尺寸方面不用一上来就定死后面导出时统一处理分辨率就行。6. 论文级美化像素级控制的进阶操作6.1 刻度方向的设置朝内还是朝外这个细节很多人不在意但如果你把一张图发给导师或者期刊编辑他们扫一眼就会发现。不同期刊要求不同但有一个原则刻度标签和数据区域不能被遮挡。在主流的理工科期刊中刻度线朝内的比较多因为数据区域更紧凑也有一些期刊要求朝外刻度标签在外侧。SciDavis的双击坐标轴 - Ticks选项卡里可以分别设置主刻度Marks和次刻度Minor Ticks的方向和长度。我一般按所在领域的主流习惯来物理学类期刊普遍是刻度朝内生命科学类期刊很多要求刻度朝外且次刻度只画一半长度。如果投稿的期刊没明确说明就参考同一期刊近期已发表论文的图。6.2 多图层排版把数据信息分层管理当一张图里既有光谱曲线又有拟合曲线还有误差棒时如果全部画在一个图层里调整样式时会比较乱。SciDavis支持多图层Layer相当于把不同的内容放在不同的“画布层”上可以分别调节坐标轴范围、缩放比例、是否显示。创建多图层的方法是Plot菜单里选择Add Multiple Layers或者用工具栏上的图层按钮。每个图层可以独立设置坐标轴这非常适合制作双Y轴图两个Y轴刻度范围不同分别用左右两侧Y轴表示。多图层的一个典型应用场景在同一张图里对比实验数据和仿真结果。把实验数据设为第一层左侧Y轴仿真数据设为第二层右侧Y轴两组数据尽管数值差异悬殊也能在同一个坐标系里展示出趋势的一致性。6.3 插入文本、箭头和辅助标注SciDavis提供基本的文本注释和箭头工具。在需要标注某些特殊点比如峰值位置、关键相位点时这个功能很实用。文本工具在工具栏上找到Text图标点击后在图上需要的位置插入文本双击修改内容支持上下标用^和_。箭头和线条用Arrow工具画箭头Line工具画辅助线。标注的样式颜色、线宽、字号都跟随当前图层默认设置多图层时先选中对应图层再加标注。注意标注文字也一样用英文字体内容要极简。不要试图在一张图里塞入过多的标注信息信息归图注caption图中只需要指给别人看的“看这里”。6.4 保持多图风格一致充分利用模板做论文时往往不止一张图如果每张图都手动调整一遍很容易出现两张图字号不一致、线宽不统一的问题。SciDavis支持把当前图保存为模板Save Template下次打开新图时直接套用。我的习惯是正式画第一篇论文的图时花点时间把所有格式调整到满意状态然后保存模板。第二张图直接用模板生成再针对数据特征微调坐标范围。这样整套图风格统一后期返工的概率小很多。7. 数据分析和拟合让图带上科学结论7.1 线性拟合与回归几秒钟出结果SciDavis的Analysis菜单里内置常用的数据拟合工具线性拟合、多项式拟合、指数拟合、Logistic拟合等都有。用线性拟合举个例子在Table中选中需要拟合的数据列。点击Analysis - Fit Linear。在弹出的对话框里确认数据列选择点击OK。结果会输出拟合参数表格给出斜率Slope、截距Intercept、相关系数R²和标准误差。拟合结果默认可以显示在图上也可以只保留参数表正文里引用即可。如果数据需要截距强制为零某些校准曲线在拟合设置里取消勾选“Auto intercept”手动设为0就行。7.2 自定义拟合公式Origin用户不用慌遇到标准拟合函数不覆盖的情况SciDavis支持自定义方程。在Analysis - Fit Wizard里可以输入自己的公式设置参数初始值然后执行拟合。这里有一个经验教训自定义拟合时参数初始值不要随便设。比如公式是y a * exp(-x / b)这样的指数衰减初始值a设成数据最大值附近b设成几倍衰减时间拟合收敛概率会大很多。如果你的初始值明显不合理拟合迭代可能直接发散程序出一个数值错误你还以为是自己操作错了。7.3 给数据加上误差棒误差棒在科研论文里的重要性不用多说。SciDavis加误差棒的方式并不复杂在Table里额外添加一列误差值比如标准偏差。在绘图窗口选中需要加误差棒的数据曲线。右键或双击打开曲线属性对话框找到Error Bar设置。选择误差来源为“Column”然后指定误差列。根据期刊习惯选择误差棒样式cap的宽度、颜色、显示方向等。要注意的是误差棒的方向“上下都要”是默认的“只向上”或“只向下”在特定数据场景才会用。还有误差棒的线宽通常比数据曲线细一个档次避免遮挡数据点本身。8. 导出图表投期刊时图片大小的门道8.1 期刊要求的分辨率与格式图画得再漂亮导出格式不对也白搭。不同期刊对图片分辨率的要求略有差异但有一个大致的行业共识普通期刊300 dpi点/英寸起步。高清要求严格的期刊600 dpi 用于线条图1200 dpi 用于黑白示意图。位图和矢量图物理、工程、化学类期刊一般能接受位图TIFF、PNG但能有矢量图PDF、EPS、SVG则更佳。在SciDavis中导出时在Compression和Resolution选项里设置对应数值。如果导出的是矢量格式PDF分辨率设置其实影响不大因为矢量图无限不失真。8.2 尺寸选择单栏、双栏和整页图期刊排版分双栏和单栏。双栏期刊中间的图宽度一般在8-9厘米横跨整页的图在17-18厘米。投稿之前先查一下目标期刊的图片宽度限制按比例设置导出尺寸。在SciDavis的Export Graph对话框中可以设置Graph Width和Height单位可选厘米或英寸。我的习惯是先设置宽度比如8.5 cm高度按比例自动算出不要手动改高度免得比例失调。8.3 从SciDavis导出EPS/PDF的坑导矢量格式时有一个常被忽略的问题矢量图里的字体嵌入。SciDavis导出的PDF或EPS如果字体没有正确嵌入期刊系统可能无法正常渲染出现提示丢失字体的错误。解决办法是导出PDF后用预览Preview打开检查一下是否显示正常如果显示异常回到SciDavis把字体改为系统标准字体如Arial再重新导出。如果期刊不接受PDF可以先用高清位图导出TIFF再用图像软件转换成期刊要求的PNG或JPEG格式。平时准备稿件时我建议同时保留一份PDF矢量版本和一份300 dpi的TIFF位图版本投稿时按需选用。9. 高阶方案批处理同一批数据的出图过程9.1 模板复用加脚本化处理如果你要处理几十组同类的数据比如不同温度下的同一组实验一张张手动画图会累到怀疑人生。SciDavis的脚本接口Python console可以用来批量画图但坦白说这个功能的易用性和灵活性一般跟直接在Python里用matplotlib脚本比还有差距。我的建议是如果数据量不大10张图以内直接用模板手动微调效率并不差。如果数据量很大、图结构又高度相似建议干脆把这批数据导出成规范格式用Pythonmatplotlib或Plotly写脚本批量渲染生成后再回到SciDavis做细节调整或拼接。9.2 和R/Python的工作流配合我个人的工作流是数据清洗和复杂分析交给Pythonpandas numpy得到结果后把需要的最终表存成CSV然后在SciDavis里画出版图。这样既保持了命令行工具的灵活也不需要为了画一张图去学一套纯代码绘图。如果你习惯用R做统计同样可以先用R完成统计分析把要展示的基本统计量和误差值写成CSV再拖进SciDavis做论文图。这种方式的好处是统计分析部分可以复现代码画图部分可以人工微调两边各取所长。10. 踩坑实录SciDavis在Mac上的常见问题与对策10.1 问题速查表下面这个表是我和身边同事这几年用SciDavis在Mac上遇到的主要问题以及对应的解决方案。建议截图保存。症状可能原因解决方案启动时提示“已损坏”或“无法打开”macOS Gatekeeper拦截未签名应用右键打开或执行xattr -dr com.apple.quarantine命令启动后闪退下载了错误架构版本确认芯片重下arm64或x86_64版本打开大文件几百MB卡死内存不足或文件格式问题拆分数据文件或用CSV导入代替xlsx中文标签显示为乱码字体不支持中文换用系统支持的字体如PingFang SC或直接用英文标签坐标轴数字变成科学计数法位数不对数字格式设置问题在Axis对话框的Numbers里调整显示格式曲线图例和数据的顺序不对图层顺序问题在Layer setup里调整图层层级导出TIFF后图片模糊分辨率设置过低导出时设300 dpi以上或改导PDF拟合计数值报错初始参数设置不合理在Fit Wizard里调整参数初值到合理范围10.2 中文显示问题不是所有系统都自带头字体SciDavis在Linux/Windows上的中文支持一直是老大难在macOS上情况好一些因为系统自带PingFang SC等中文字体。但如果你在本机自装的第三方字体里选了一个名字看起来对、其实中文字形不完整的字体画出来就很容易一片“豆腐块”。我的建议论文的图内文字一律用英文或数字如果实在需要中文标注字体选择PingFang SC或Heiti SC并且导出前务必在预览里放大看看是否正常。10.3 与macOS系统更新的兼容性Mac系统一年一个大版本SciDavis作为开源软件主版本更新频率没跟上时新系统上可能会出现奇怪的显示问题比如菜单错位、界面模糊。遇到这种情况优先升级SciDavis到最新版如果仍有问题检查有没有社区补丁或维护分支。另外有一个小技巧如果你的Mac升级了系统后SciDavis突然打不开先试着重启再试着重装。很多情况不是真的不兼容只是系统更新后的首次启动需要重新初始化权限。11. 从一张图到一套图我的个人工作流分享最后分享一点我自己的实际操作体会。很多人画图是“边画边想”结果画到最后发现第一批图和第二批图长得完全不像甚至同一篇论文里的图风格都统一不了。现在我的流程基本固定下来了拿到实验数据后先用Python做预处理把需要展示的最终结果表导成CSV。打开SciDavis第一件事不是画图而是先把格式模板调好字体、字号、刻度方向、线宽、符号大小全部确认一遍并保存为模板。之后所有图都基于这个模板生成。画图过程中我会建两个版本一个叫“数据确认版”只快速画出来看数据有没有异常另一个叫“投稿终稿版”专门用于认真调整样式。两个版本用命名区分清楚避免后面改来改去不知道哪个是最新版。还有一个小技巧每次导出图片前先导出PDF再用预览打开查看一下坐标轴文字、图例位置有没有超出画布边界。有时候在SciDavis窗口里看着没问题导出后才发现图例被裁掉了一角这种低级失误很容易出现在赶稿时。SciDavis这套流程我用了几年整体很稳。它在Mac上的体验虽然不能说百分之百完美但作为一款免费的开源工具已经帮我在几十篇论文和报告中稳定产出了好几版图。对于经费有限的学生团队、实验室或者不想在绘图软件上投入太多学习成本的人它确实是Mac平台上一个非常值得花半小时上手的选择。
返回列表