做仿真分析的兄弟,肯定被 MATLAB 绘图 折磨过。辛辛苦苦跑了一晚上数据,出来的曲线锯齿满屏、配色土气,导师一眼看过去就说“像90年代的论文”。其实 MATLAB 的 plot函数远比你想象的强大,只要调对参数,完全能画出顶刊级别的图。2026年了,别再用默认配色了,今天聊聊怎么把二维曲线画得既专业又好看。
plot函数最基本的用法是 plot(x, y),但精髓在于线型、颜色和标记的组合。比如你想画一条带标记的实线,代码是这样的:
t = 0:0.1:2*pi;
x = 2 * t;
y = t .* sin(t) .* sin(t);
figure;
plot(x, y, '-ro', 'LineWidth', 2, 'MarkerSize', 6);
grid on;
这里的 -ro代表红色(r)实线(-)加圆圈标记(o)。如果要在同一张图上画多条线,直接用 hold on或者一次性传入多组数据:x = linspace(0, 2*pi, 100);
plot(x, sin(x), 'b-', x, cos(x), 'r--', 'LineWidth', 1.5);
legend('正弦波', '余弦波');
别再用 plot(x1, y1); hold on; plot(x2, y2);这种啰嗦写法了,一次性画完,代码更干净。很多时候我们需要对比两个量纲完全不同的物理量,比如温度和压力。用同一个纵坐标,其中一个曲线会被压扁。这时候用 plotyy(新版推荐 yyaxis)。
x = 0:pi/100:2*pi;
y1 = 0.2*exp(-0.5*x) .* cos(4*pi*x); % 振幅小
y2 = 2*exp(-0.5*x) .* cos(pi*x); % 振幅大
figure;
yyaxis left; % 激活左侧纵坐标
plot(x, y1, 'b-');
ylabel('低频信号');
yyaxis right; % 激活右侧纵坐标
plot(x, y2, 'r--');
ylabel('高频信号');
这样左右两边各有标尺,对比起来一目了然,审稿人看了都得点头。论文里通常需要把多个工况放在一起对比,用 subplot 分窗。
figure('Color', 'white'); % 背景设为白色,显得干净
subplot(2, 2, 1); % 2行2列的第1个
plot(rand(10,1));
title('随机信号1');
subplot(2, 2, 2); % 2行2列的第2个
plot(rand(10,1));
title('随机信号2');
标注也不能马虎。MATLAB 支持 LaTeX 语法,公式看起来才高级。比如 xlabel('\alpha (rad/s)')和 title('sin(\alpha) vs. cos(\alpha)')。别再用纯文本写希腊字母了,那太业余了。除了普通的 XY 图,还有几个宝藏函数。

对数坐标:semilogx或 loglog。做频响分析时必用,能把指数衰减的趋势拉直。 柱状图与饼图:bar(y)和 pie(x)。记得给 bar加 FaceColor,别用默认的灰色。 网格数据:meshgrid。虽然常用于 3D,但配合 contour画等高线图,展示二维场分布(如温度场、应力场)非常直观。 武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。