跳转到内容

数据处理与画图

图表是画给“没读过你报告的人”看的。 老师、审稿人、面试官看你的图,通常只有几秒钟——所以一张图只讲一件事,比一张图塞进所有数据重要得多。

工具选择的原则也一样简单:数据规模小、只做一次,用 Excel;要重复跑、要精确控制样式,就换脚本。

为什么现在就该学

本节:为什么现在就该学
场景 具体会发生什么
实验课报告 数据处理和作图占分不少。用默认样式的彩色柱状图,和有坐标轴单位、误差棒的图,观感差别极大。
专业大作业 数据往往有几千行甚至更多,还要做多组对比——Excel 会开始卡。
科研 论文里的图要求矢量格式、字号统一、配色规范,而且改一次数据要能一键重画。
实习与汇报 把一份原始数据整理成三张能说明问题的图,是最容易被看见的能力。
  • 拿一份你手头的数据(实验数据、问卷、任何真实的表),用 Excel 画一张折线图和一张散点图,比较它们各自适合说明什么。
  • 把这份数据存成 CSV,用一段十行的 Python 脚本重新画出同一张图(下面有模板)。
  • 检查你上次交的实验报告:坐标轴有没有写量和单位?有没有图注?
  • 给图建一个固定目录,原图统一导出成矢量格式(PDF 或 SVG)另存一份。
  • 定一条规矩:报告里的每个数字都必须能追到源数据和脚本,不允许手敲。

Excel 什么时候够用

本节:Excel 什么时候够用

不要因为“感觉不够专业”就上脚本,也不要因为“我一直用 Excel”就硬撑。

情况 用什么
数据量不大,人工检查得过来 Excel 足够
只做一次性探索、画完就结束 Excel 更快
要给别人直接打开看、还要能改 Excel(表格本身就是交付物)
同一套处理要重复跑很多次(每周更新的数据、多个实验组) 换脚本
要在论文里放图,需要精确控制尺寸、字号、线宽 换脚本
要多组数据对比、要画误差棒、要批量出十几张图 换脚本
数据要合并、清洗、做统计检验 换脚本

Python 和 MATLAB 怎么分工

本节:Python 和 MATLAB 怎么分工

两个都能做数值计算和画图。不要陷入工具之争,按场景选。

Python(NumPy + Matplotlib) MATLAB
费用 免费、开源 商业软件。学校是否提供校园授权、怎么获取,以信息化服务的说明为准(具体入口链接待补)
常见于 数据处理、机器学习、科研里的通用计算 信号处理、控制系统、数值方法等课程与教材配套
生态 第三方库极多,和爬虫、深度学习、Web 都能接上 工具箱成熟,同领域内的函数命名和文档统一
典型优势 与其它工具协作方便,脚本容易部署 矩阵运算写起来直接,很多课程作业默认用它

三条实用建议:

  1. 课程要求什么就用什么。 有的课明确用 MATLAB 交作业,这时候换工具是给自己找麻烦。
  2. 科研跟着组里的代码走。 师兄师姐的代码是什么语言,你就用什么语言——你需要的是能跑通,不是重新造一套。
  3. 只学一个的话,学 Python。 免费、通用、找工作也用得上;CS 自学指南里有成体系的入门路线。

最小可用路径(Python)

本节:最小可用路径(Python)

第 1 步:装一个能跑起来的环境

本节:第 1 步:装一个能跑起来的环境

不要在这一步纠结太久。装一个 Python 环境(发行版或虚拟环境都可以,具体方式以官方文档为准),然后确认三件事:能打开交互环境、能 import numpy、能 import matplotlib。

第 2 步:会读数据

本节:第 2 步:会读数据

先学会把 CSV 读进来,这一步是后面所有事情的前提。中文数据要注意编码问题——从 Excel 导出的 CSV 有时不是 UTF-8,读进来会乱码,这时候需要指定编码。

第 3 步:画第一张能交出去的图

本节:第 3 步:画第一张能交出去的图

把下面这段改造成你自己的数据,跑一遍,看看每一步在做什么:

import numpy as np
import 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 的入门路径是一样的:读数据 → 画图 → 存脚本。它的绘图函数和参数在官方文档里写得很细,按“我要画什么图”去搜就行。

实验报告画图规范

本节:实验报告画图规范

实验报告的图有固定的要求,少一项就可能被扣分:

  1. 坐标轴必须写清楚量和单位。写“时间 t / s”比写“时间”规范。
  2. 图题写在图的下方,表题写在表的上方(表格用三线表更符合学术习惯)。
  3. 图例要能区分每条曲线,并且和正文里的说法一致。
  4. 有测量误差就要画误差棒,并在图注里说明这是标准差、标准误还是别的。
  5. 有效数字要和测量精度一致,不要把计算器上的所有小数位都抄上去。
  6. 同一份报告里所有图风格统一:字号、线宽、配色、标记形状都保持一致。
  7. 图注要能独立读懂。读者只看图也应该知道这是哪组数据、什么条件。

图表可读性的硬规则

本节:图表可读性的硬规则

这几条几乎是通用的,违反了就会被认为“不专业”:

  1. 一图一结论。 图题写结论(“温度升高后反应速率趋于饱和”),而不是写“图 3”。
  2. 柱状图的纵轴从 0 开始。 截断纵轴会放大差距,属于误导性呈现;折线图在确有必要时可以不用从 0 开始,但要慎重。
  3. 不用 3D。 除非你真的有三个维度,否则 3D 只会让人读不准。
  4. 类别多于三类时不要用饼图。 人眼比较角度的能力很差,换成条形图。
  5. 颜色控制在五种以内,并尽量选对色觉障碍友好的配色;黑白打印后还能区分是最好的。
  6. 字号要按最终尺寸定。 图会被缩放到论文里的宽度,缩放后轴标签不能比正文小。
  7. 矢量优先。 论文和报告里的图导出成 PDF 或 SVG;只能用位图时把分辨率设得足够高(常见要求是 300 dpi 以上,具体以规定为准)。
  8. 慎用双纵轴。 两个刻度很容易让人误读相关性,能分成两张图就分开。
  9. 不要用截图。 从别的软件截图再贴进文档,是图表变糊的头号原因。
  • NumPy 官方文档 —— 数组运算的基础。从“绝对基础”那一章开始,够你处理实验数据了。
  • Matplotlib 官方文档 —— 画图的主力库,示例库尤其有用:想画什么图就去示例里找一张最像的,改数据。
  • MATLAB 官方文档 —— 如果你的课程用 MATLAB,绘图和数据处理部分按“我想做什么”检索,比看视频教程快。
  • CS 自学指南 —— 想系统学 Python 和数据相关课程时看它,解决的是“按什么顺序学”的问题。

免责声明:本站是学生自发整理的经验分享,不代表清华大学官方立场。涉及培养方案、选课规则、绩点计算、保研政策等一切制度性内容, 请以教务、院系和学校官方通知为准。

发现内容有误、过期,或想补充一篇经验帖?欢迎到GitHub Issues提出,或直接编辑对应页面提交 PR。

维护者入口:站内后台—— GitHub 登录后可改文字 / 传图 / 嵌视频,保存会自动开 PR,合并后上线。

© 2026 清华生存指南 · 内容采用 CC BY-NC-SA 4.0 许可 · 由一群学长学姐共同维护