
30秒速读
痛点:数据有了,plot 一敲却报错;图出来了,坐标轴没标签、网格没有,看起来像草稿。本篇讲什么:Matlab二维曲线绘制保姆级教程——从数据向量准备、plot 基本调用,到标注、网格、多曲线叠加、线型自定义和子图排布,所有代码可直接复制运行。
一句话答案
Matlab 画二维曲线的核心就是 plot(x,y) 函数:先准备好 x 和 y 两组等长的数据向量,一行 plot 命令就能出图,再用 xlabel、ylabel、title、grid、legend 给图形加上标注,图形立刻变得专业可读。
适用版本与准备
适用于 Matlab R2016 及以上所有版本,plot 等基础绘图函数各版本通用。打开 Matlab 后在”命令行窗口”逐行输入命令,或新建脚本文件一次性运行。下面所有代码都可以直接复制运行。
三种绘图方式对比:明确推荐
| 方案 | 做法 | 优点 | 缺点 | 适合人群 |
|---|---|---|---|---|
| plot 命令行绘图 | 写代码调用 plot 及修饰函数 | 可重复、可批量,最规范 | 要记函数名 | 写论文、做报告的人 |
| 图形窗口交互调整 | 在图形窗口里点菜单改样式 | 直观,所见即所得 | 关闭窗口即丢失,不可重复 | 临时看一眼数据 |
| Live Script 混合排版 | 代码、文字、图形混排输出 | 文档和图一体,分享方便 | 版本兼容性要注意 | 做课程作业与技术分享 |
明确推荐:凡是以后还要复用的图,推荐用 plot 命令行方式,代码存下来随时重跑;只看一眼的临时数据,用图形窗口交互最快。本篇的代码模板就是按命令行方式组织的。
操作步骤
- 准备数据向量:曲线由一系列坐标点连成,所以先定义 x 和 y。x = linspace(0, 2*pi, 100) 表示在 0 到 2π 之间取 100 个等距点;y = sin(x) 计算每个 x 对应的正弦值。注意 x 和 y 的长度必须一致,否则 plot 会报错。
x = linspace(0, 2*pi, 100); y = sin(x); - 画出第一条曲线:
plot(x, y)是最基本的调用格式,第一个参数是横坐标,第二个是纵坐标。运行后会弹出图形窗口,看到一条正弦曲线。plot(x, y) - 加上坐标轴标签和标题:xlabel 给横轴命名,ylabel 给纵轴命名,title 给整张图起标题。标签建议用英文,避免某些环境下中文显示为方框。
xlabel('x'); ylabel('sin(x)'); title('Sine Curve'); - 显示网格线:grid on 打开网格,读数时更容易对应坐标值;不需要时用 grid off 关闭。这是让图形看起来”像那么回事”最简单的一步。
- 完整可运行示例:把上面几步连起来,就是一段完整的新手模板代码,复制到命令行窗口逐行运行即可出图。
x = linspace(0, 2*pi, 100); y = sin(x);plot(x, y);xlabel('x'); ylabel('sin(x)'); title('Sine Curve');grid on; - 同一张图画多条曲线:默认情况下新的 plot 会清空旧图。先执行 hold on 保持当前图形,再 plot 第二条曲线,最后 hold off 释放。新曲线会自动换颜色以示区分。
x = linspace(0, 2*pi, 100); y1 = sin(x); y2 = cos(x); plot(x, y1); hold on; plot(x, y2); hold off; xlabel('x'); ylabel('y'); title('Sine and Cosine Curves'); legend('sin(x)', 'cos(x)'); grid on; - 自定义线型和颜色:plot 的第三个参数可以指定样式,’r–‘ 表示红色虚线,’b-‘ 表示蓝色实线,’g:’ 表示绿色点线,’k-o’ 表示黑色带圆圈标记的实线。常用颜色字母:r 红、g 绿、b 蓝、k 黑。
plot(x, y1, 'r--', 'LineWidth', 2); - 一个窗口画多张子图:subplot(2, 2, 1) 表示把窗口分成 2 行 2 列,当前画第 1 张子图。适合对比多组数据,每张子图照常用 plot 画即可。
subplot(2, 2, 1); plot(x, sin(x)); title('sin(x)'); subplot(2, 2, 2); plot(x, cos(x)); title('cos(x)');
常见问题
- 报错说向量长度不一致?
plot(x, y)要求 x 和 y 元素个数相同。用 length(x) 和 length(y) 分别检查,多数情况是计算 y 时用了矩阵乘法 * 而不是点乘 .*,改成点乘即可。 - 第二条曲线把第一条覆盖了?因为没加 hold on。记住顺序:先 plot 第一条,hold on,再 plot 第二条,最后 hold off。
- 中文标签显示为方框乱码?部分系统字体不支持。最简单的办法是标签全部用英文;如果必须用中文,先确认系统装有中文字体,或改用英文加图注说明。
- 图形窗口一闪而过看不到?脚本运行结束图形窗口可能自动关闭。在脚本末尾加一行 pause 或 shg,让图形停留在屏幕上。
- 想保存图片怎么办?图形窗口里点”文件-另存为”可以存成 png 或 jpg;写论文推荐用 print -dpng -r300 filename.png 命令,300 分辨率更清晰。
从模板到自己的数据:三步迁移
模板跑通后,换自己的数据只需三步:第一,把 x 换成你的自变量向量(注意长度与 y 一致);第二,把 y 换成你的因变量计算式(矩阵运算记得用点乘 .*);第三,把 xlabel、ylabel、title 改成你的实际含义。其他修饰代码原样保留,一套模板能覆盖八成以上的二维绘图需求。
二维绘图要点回顾
二维曲线绘制就记住一条公式:准备数据加 plot 出图,标注修饰靠 xlabel、ylabel、title、grid、legend,多条曲线用 hold on 叠加。把上面的正弦曲线模板跑通,再换成自己的数据,就掌握了 Matlab 绘图最常用的八成功能。

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›







