数据处理与画图
图表是画给“没读过你报告的人”看的。 老师、审稿人、面试官看你的图,通常只有几秒钟——所以一张图只讲一件事,比一张图塞进所有数据重要得多。
工具选择的原则也一样简单:数据规模小、只做一次,用 Excel;要重复跑、要精确控制样式,就换脚本。
为什么现在就该学
本节:为什么现在就该学| 场景 | 具体会发生什么 |
|---|---|
| 实验课报告 | 数据处理和作图占分不少。用默认样式的彩色柱状图,和有坐标轴单位、误差棒的图,观感差别极大。 |
| 专业大作业 | 数据往往有几千行甚至更多,还要做多组对比——Excel 会开始卡。 |
| 科研 | 论文里的图要求矢量格式、字号统一、配色规范,而且改一次数据要能一键重画。 |
| 实习与汇报 | 把一份原始数据整理成三张能说明问题的图,是最容易被看见的能力。 |
马上能做的
本节:马上能做的- 拿一份你手头的数据(实验数据、问卷、任何真实的表),用 Excel 画一张折线图和一张散点图,比较它们各自适合说明什么。
- 把这份数据存成 CSV,用一段十行的 Python 脚本重新画出同一张图(下面有模板)。
- 检查你上次交的实验报告:坐标轴有没有写量和单位?有没有图注?
- 给图建一个固定目录,原图统一导出成矢量格式(PDF 或 SVG)另存一份。
- 定一条规矩:报告里的每个数字都必须能追到源数据和脚本,不允许手敲。
Excel 什么时候够用
本节:Excel 什么时候够用不要因为“感觉不够专业”就上脚本,也不要因为“我一直用 Excel”就硬撑。
| 情况 | 用什么 |
|---|---|
| 数据量不大,人工检查得过来 | Excel 足够 |
| 只做一次性探索、画完就结束 | Excel 更快 |
| 要给别人直接打开看、还要能改 | Excel(表格本身就是交付物) |
| 同一套处理要重复跑很多次(每周更新的数据、多个实验组) | 换脚本 |
| 要在论文里放图,需要精确控制尺寸、字号、线宽 | 换脚本 |
| 要多组数据对比、要画误差棒、要批量出十几张图 | 换脚本 |
| 数据要合并、清洗、做统计检验 | 换脚本 |
Python 和 MATLAB 怎么分工
本节:Python 和 MATLAB 怎么分工两个都能做数值计算和画图。不要陷入工具之争,按场景选。
| Python(NumPy + Matplotlib) | MATLAB | |
|---|---|---|
| 费用 | 免费、开源 | 商业软件。学校是否提供校园授权、怎么获取,以信息化服务的说明为准(具体入口链接待补) |
| 常见于 | 数据处理、机器学习、科研里的通用计算 | 信号处理、控制系统、数值方法等课程与教材配套 |
| 生态 | 第三方库极多,和爬虫、深度学习、Web 都能接上 | 工具箱成熟,同领域内的函数命名和文档统一 |
| 典型优势 | 与其它工具协作方便,脚本容易部署 | 矩阵运算写起来直接,很多课程作业默认用它 |
三条实用建议:
- 课程要求什么就用什么。 有的课明确用 MATLAB 交作业,这时候换工具是给自己找麻烦。
- 科研跟着组里的代码走。 师兄师姐的代码是什么语言,你就用什么语言——你需要的是能跑通,不是重新造一套。
- 只学一个的话,学 Python。 免费、通用、找工作也用得上;CS 自学指南里有成体系的入门路线。
最小可用路径(Python)
本节:最小可用路径(Python)第 1 步:装一个能跑起来的环境
本节:第 1 步:装一个能跑起来的环境不要在这一步纠结太久。装一个 Python 环境(发行版或虚拟环境都可以,具体方式以官方文档为准),然后确认三件事:能打开交互环境、能 import numpy、能 import matplotlib。
第 2 步:会读数据
本节:第 2 步:会读数据先学会把 CSV 读进来,这一步是后面所有事情的前提。中文数据要注意编码问题——从 Excel 导出的 CSV 有时不是 UTF-8,读进来会乱码,这时候需要指定编码。
第 3 步:画第一张能交出去的图
本节:第 3 步:画第一张能交出去的图把下面这段改造成你自己的数据,跑一遍,看看每一步在做什么:
import numpy as npimport matplotlib.pyplot as plt
x = np.linspace(0, 10, 200)y = np.sin(x)
fig, ax = plt.subplots(figsize=(4, 3)) # 尺寸按最终排版要求设ax.plot(x, y, label='sin x')ax.set_xlabel('x') # 轴上一定要写量和单位ax.set_ylabel('y')ax.legend() # 有两条以上曲线必须有图例fig.savefig('sin.pdf', bbox_inches='tight') # 论文用矢量格式第 4 步:把脚本存下来
本节:第 4 步:把脚本存下来不要在交互环境里点着鼠标算完就关掉。 把处理步骤写成 .py 文件,从读数据到出图一条龙。这样数据更新了,重跑一遍就行。
MATLAB 的入门路径是一样的:读数据 → 画图 → 存脚本。它的绘图函数和参数在官方文档里写得很细,按“我要画什么图”去搜就行。
实验报告画图规范
本节:实验报告画图规范实验报告的图有固定的要求,少一项就可能被扣分:
- 坐标轴必须写清楚量和单位。写“时间 t / s”比写“时间”规范。
- 图题写在图的下方,表题写在表的上方(表格用三线表更符合学术习惯)。
- 图例要能区分每条曲线,并且和正文里的说法一致。
- 有测量误差就要画误差棒,并在图注里说明这是标准差、标准误还是别的。
- 有效数字要和测量精度一致,不要把计算器上的所有小数位都抄上去。
- 同一份报告里所有图风格统一:字号、线宽、配色、标记形状都保持一致。
- 图注要能独立读懂。读者只看图也应该知道这是哪组数据、什么条件。
图表可读性的硬规则
本节:图表可读性的硬规则这几条几乎是通用的,违反了就会被认为“不专业”:
- 一图一结论。 图题写结论(“温度升高后反应速率趋于饱和”),而不是写“图 3”。
- 柱状图的纵轴从 0 开始。 截断纵轴会放大差距,属于误导性呈现;折线图在确有必要时可以不用从 0 开始,但要慎重。
- 不用 3D。 除非你真的有三个维度,否则 3D 只会让人读不准。
- 类别多于三类时不要用饼图。 人眼比较角度的能力很差,换成条形图。
- 颜色控制在五种以内,并尽量选对色觉障碍友好的配色;黑白打印后还能区分是最好的。
- 字号要按最终尺寸定。 图会被缩放到论文里的宽度,缩放后轴标签不能比正文小。
- 矢量优先。 论文和报告里的图导出成 PDF 或 SVG;只能用位图时把分辨率设得足够高(常见要求是 300 dpi 以上,具体以规定为准)。
- 慎用双纵轴。 两个刻度很容易让人误读相关性,能分成两张图就分开。
- 不要用截图。 从别的软件截图再贴进文档,是图表变糊的头号原因。
常见坑
本节:常见坑延伸阅读
本节:延伸阅读- NumPy 官方文档 —— 数组运算的基础。从“绝对基础”那一章开始,够你处理实验数据了。
- Matplotlib 官方文档 —— 画图的主力库,示例库尤其有用:想画什么图就去示例里找一张最像的,改数据。
- MATLAB 官方文档 —— 如果你的课程用 MATLAB,绘图和数据处理部分按“我想做什么”检索,比看视频教程快。
- CS 自学指南 —— 想系统学 Python 和数据相关课程时看它,解决的是“按什么顺序学”的问题。
免责声明:本站是学生自发整理的经验分享,不代表清华大学官方立场。涉及培养方案、选课规则、绩点计算、保研政策等一切制度性内容, 请以教务、院系和学校官方通知为准。
发现内容有误、过期,或想补充一篇经验帖?欢迎到GitHub Issues提出,或直接编辑对应页面提交 PR。
维护者入口:站内后台—— GitHub 登录后可改文字 / 传图 / 嵌视频,保存会自动开 PR,合并后上线。
© 2026 清华生存指南 · 内容采用 CC BY-NC-SA 4.0 许可 · 由一群学长学姐共同维护