番外篇

科研绘图

Tips

论文里的图是审稿人的第一印象。MATLAB 数值计算 + 科研绘图,Python 数据可视化两套工具链。知道什么时候用什么,画出来的图让审稿人眼前一亮。

  • 科研图三条铁律:矢量格式、标注完整、配色无障碍(红绿色盲友好)
  • 投稿前查期刊的 Figure Guidelines——字号、线宽、格式都有具体要求
  • 数据 + 绘图脚本一起保存,审稿人要求改图时重新跑一遍而不是手动 P
  • Python 用户推荐 sns.set_theme() 一行美化全局样式
  • MATLAB 矩阵运算不要写 for 循环——向量化运算比循环快几十倍
  • 脚本开头加 clear; clc; close all; 清空环境,避免上次运行的变量干扰
  • 用 doc 函数名 在 Command Window 直接打开函数文档
  • MATLAB 的正版授权是 SEU 学生的福利,毕业前多利用
  • 画框图/流程图用 draw.io 免费够用,Visio 不需要

MATLAB:数值计算与科研绘图

MATLAB 是工程领域的标准计算工具——矩阵运算、控制系统仿真(Simulink)、信号处理,以及强大的科研出图能力。SEU 已购买校园正版授权。

SEU 免费安装

  1. nic.seu.edu.cn → 正版软件 → MATLAB,用 SEU 邮箱注册 MathWorks 账号
  2. 下载安装(选核心 + Simulink + Control System Toolbox)
  3. 登录 → 选"东南大学"许可证

推荐工具箱(不需要一次全装——核心 + Simulink + Control System,其他需要时通过 Add-Ons 菜单安装):

工具箱用途
MATLAB核心功能
Simulink图形化仿真建模
Control System Toolbox控制系统设计分析
Signal Processing Toolbox信号处理
Optimization Toolbox优化求解
Statistics and Machine Learning Toolbox统计与机器学习
Robotics System Toolbox机器人算法与仿真
Deep Learning Toolbox深度学习

MATLAB 基础语法速查

% 这是注释

% 变量与矩阵
a = 5;                  % 分号不显示结果
b = [1 2 3; 4 5 6];     % 2×3 矩阵

% 矩阵运算
A * B                   % 矩阵乘法
A .* B                  % 逐元素乘法
A'                      % 转置
inv(A)                  % 逆矩阵
eig(A)                  % 特征值

% 常用函数
linspace(0, 1, 100)     % 生成100个等间距点
zeros(3, 4)             % 3×4零矩阵
ones(5)                 % 5×5全1矩阵
eye(3)                  % 3×3单位矩阵

% 条件与循环
if x > 0
    disp('positive');
else
    disp('negative or zero');
end

for i = 1:10
    disp(i);
end

% 函数定义(保存为 myfunc.m)
function result = myfunc(x, y)
    result = x^2 + y^2;
end

Simulink 是 MATLAB 最独特的价值——图形化仿真建模,控制类课程和项目会频繁用到。Python 目前没有真正的 Simulink 替代品。

  1. MATLAB 工具栏点 Simulink 图标
  2. Blank Model 新建模型
  3. 左侧 Library Browser 拖入模块(积分器、传递函数、示波器等)
  4. 连线 → 设置参数 → 点 Run 仿真
  5. 双击 Scope 模块查看波形

学习资源

资源内容
MATLAB Onramp(MATLAB 内免费)2 小时交互式入门教程
Simulink Onramp(免费)Simulink 交互式入门
MathWorks 官方文档最全的函数说明和示例
B 站 "MATLAB 基础教程"中文讲解视频
MATLAB Central官方社区,问答和代码分享

MATLAB 绘图的优势

优势说明
出图质量高矢量图导出,直接投期刊不用二次处理
公式到图形符号计算 + 可视化无缝衔接
Simulink 框图控制系统领域的事实标准,Python 无替代品
期刊兼容多数工程期刊提供 .fig / .m 模板

常用绘图场景


plot(x, y)              # 二维线图
scatter(x, y)           # 散点图
bar(x, y)               # 柱状图
histogram(data)         # 直方图
surf(X, Y, Z)           # 三维曲面
contour(X, Y, Z)        # 等高线
imagesc(matrix)         # 热力图

MATLAB vs Python 怎么选

场景推荐
控制系统仿真(Simulink)MATLAB(Python 没有 Simulink 替代品)
论文出图(矢量/期刊级)MATLAB(导出 .eps/.pdf 更可控)
AI/机器学习/深度学习Python
数据探索、快速可视化Python(matplotlib/seaborn 更灵活)
矩阵计算、信号处理两者都行,看导师组习惯
开源项目、需要部署Python
课程要求跟着课程走

Python 科研绘图

Python 是数据科学的主力语言,科研绘图生态成熟。三件套:matplotlib 打基础、seaborn 统计图、Plotly 可交互。

matplotlib:一切的基础


pip install matplotlib numpy

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)
plt.plot(x, np.sin(x), label='sin(x)')
plt.plot(x, np.cos(x), label='cos(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.title('正弦与余弦')
plt.legend()
plt.savefig('figure.pdf', bbox_inches='tight')  # 矢量导出
plt.show()
核心原则:写论文的图一律 savefig 导出为 .pdf 或 .eps(矢量),不要截图。位图用 .png 至少 300 dpi。

seaborn:统计图一行出


pip install seaborn
import seaborn as sns

sns.boxplot(data=df, x='group', y='value')   # 箱线图
sns.heatmap(corr_matrix, annot=True)          # 相关性热力图
sns.violinplot(data=df, x='category', y='metric')  # 小提琴图
sns.pairplot(df)                              # 成对关系矩阵
seaborn 的默认样式比裸 matplotlib 好看很多。sns.set_theme() 一行切换到期刊级配色。

绘图工具速查

工具一句话适合
MATLAB工程计算 + 出图一体控制/信号/期刊论文
matplotlibPython 绑卡底库,什么都能画所有场景的基础
seaborn统计可视化,一行出图数据分析/统计图
Plotly可交互旋转缩放探索数据、网页嵌入
Origin实验数据出图传统工具物理/化学/材料实验组
draw.io免费框图/流程图画模型架构、流程图
Inkscape免费矢量图编辑微调 PDF 导出图、拼图排版

AI 协作

AI 不能代替你决定画哪种图、数据怎么呈现,但能帮你写绘图代码。

  • Python 出图:描述数据格式和想要的图类型 → AI 生成 Matplotlib/Seaborn 代码 → 跑一遍 → 微调配色、字号、图例位置
  • MATLAB 出图:同样的思路——描述需求 → AI 生成 .m 脚本 → 在 MATLAB 里跑
  • 美化建议:截图给 AI → "这个图不够好看,给三个具体修改建议" → 改坐标轴范围、换配色、调字号
  • 图转代码:看中别人的图(公开论文的图)→ 描述给 AI →"用 Python Matplotlib 复现这个风格"
  • 报错调试:绘图代码报错 → 丢给 AI → 秒修

前提:你得会手动写最基本的 plt.plot() / plot()。AI 生成 90% 的代码,你改最后 10%。