MATLAB二维绘图教程:plot()函数全解析(线条样式/颜色/标记/坐标轴设置)

文章目录

MATLAB的 plot()函数是二维绘图的核心工具,能够快速绘制折线图、散点图等基础图形,通过自定义线条样式、颜色、标记点和坐标轴,可生成清晰、专业的可视化图表。本文从 plot()函数基础用法入手,详解线条样式/颜色/标记的设置、坐标轴自定义、图例与标题添加等核心操作,搭配可直接运行的代码示例,覆盖搜索引擎高频检索需求(如MATLAB plot线条样式设置、坐标轴范围调整、标记点添加),适合零基础掌握二维绘图技能。

一、plot()函数核心认知

1. 基础功能

plot()函数用于绘制二维平面上的曲线,核心是将一组x坐标和y坐标的点连接成线,语法格式:

matlab 复制代码
plot(x, y)          % 基础用法:x为横坐标数组,y为纵坐标数组
plot(y)             % 简化用法:x默认取1,2,3...,仅传入y值
plot(x1, y1, x2, y2) % 绘制多条曲线:x1-y1、x2-y2分别为两组坐标

2. 核心特点

  • 输入的x、y需为同维度的数组(向量/矩阵);
  • 支持一次性绘制多条曲线,无需多次调用;
  • 可通过参数自定义线条样式、颜色、标记点;
  • 绘制后可通过后续命令调整坐标轴、标题、图例等。

二、plot()基础绘图:从简单曲线开始

1. 单条曲线绘制

matlab 复制代码
% 示例1:绘制正弦曲线(基础)
x = 0:0.1:2*pi;  % 生成0到2π的横坐标,步长0.1
y = sin(x);      % 计算正弦值
plot(x, y);      % 绘制x-y曲线

运行结果:生成一条从0到2π的正弦曲线,默认样式为蓝色实线。

2. 多条曲线绘制

matlab 复制代码
% 示例2:同时绘制正弦和余弦曲线
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, x, y2);  % 第一条:x-y1(正弦),第二条:x-y2(余弦)

运行结果:同一画布中显示正弦(蓝)、余弦(橙)两条曲线(MATLAB默认配色)。

三、自定义线条样式/颜色/标记(核心技巧)

plot()支持通过"字符参数"自定义曲线外观,语法格式:

matlab 复制代码
plot(x, y, '参数组合')

参数分为三类:线条样式、颜色、标记点,可组合使用(如'r--o'表示红色虚线+圆形标记)。

1. 线条样式参数

参数 样式 示例
- 实线(默认) plot(x,y,'-')
-- 虚线 plot(x,y,'--')
: 点线 plot(x,y,':')
-. 点划线 plot(x,y,'-.')

2. 颜色参数

参数 颜色 示例
r 红色 plot(x,y,'r')
g 绿色 plot(x,y,'g')
b 蓝色(默认) plot(x,y,'b')
y 黄色 plot(x,y,'y')
k 黑色 plot(x,y,'k')
m 品红 plot(x,y,'m')
c 青色 plot(x,y,'c')
w 白色 plot(x,y,'w')

3. 标记点参数(突出数据点)

参数 标记样式 示例
o 圆形 plot(x,y,'o')
* 星号 plot(x,y,'*')
+ 加号 plot(x,y,'+')
s 正方形 plot(x,y,'s')
^ 上三角 plot(x,y,'^')
d 菱形 plot(x,y,'d')
. 点标记 plot(x,y,'.')

4. 组合参数实战示例

matlab 复制代码
% 示例3:自定义正弦曲线样式(红色虚线+圆形标记)
x = 0:0.5:2*pi;  % 增大步长,便于显示标记点
y = sin(x);
plot(x, y, 'r--o', 'LineWidth', 2, 'MarkerSize', 8);
% 'LineWidth':线条宽度(默认1),'MarkerSize':标记点大小(默认6)

参数说明:

  • 'r--o':红色(r)+ 虚线(--)+ 圆形标记(o);
  • 'LineWidth', 2:线条宽度设为2;
  • 'MarkerSize', 8:标记点大小设为8。

5. 多条曲线分别自定义样式

matlab 复制代码
% 示例4:正弦(绿色点线+正方形标记)、余弦(黑色点划线+三角标记)
x = 0:0.5:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'g:s', 'LineWidth', 1.5, 'MarkerSize', 6);
hold on;  % 保留当前画布,继续绘制下一条曲线
plot(x, y2, 'k-.^', 'LineWidth', 1.5, 'MarkerSize', 6);
hold off; % 关闭hold,恢复默认

关键:hold on是绘制多条自定义样式曲线的核心,否则新曲线会覆盖原有曲线。

四、坐标轴设置:范围/标签/刻度/网格

绘制曲线后,需调整坐标轴让图表更清晰,核心命令如下:

1. 坐标轴范围设置(xlim/ylim)

matlab 复制代码
% 示例5:设置x轴范围0~2π,y轴范围-1.5~1.5
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
xlim([0, 2*pi]);  % x轴范围:0到2π
ylim([-1.5, 1.5]);% y轴范围:-1.5到1.5

也可使用axis([xmin xmax ymin ymax])一次性设置:

matlab 复制代码
axis([0, 2*pi, -1.5, 1.5]);  % 等价于xlim+ylim

2. 坐标轴标签(xlabel/ylabel)

matlab 复制代码
% 示例6:添加坐标轴标签(支持中文)
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
xlabel('x (0~2π)', 'FontSize', 12);  % x轴标签,字体大小12
ylabel('sin(x)', 'FontSize', 12);    % y轴标签

3. 坐标轴刻度(xticks/yticks)

自定义刻度位置和标签,让刻度更贴合数据:

matlab 复制代码
% 示例7:设置x轴刻度为0, π/2, π, 3π/2, 2π
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
xticks([0, pi/2, pi, 3*pi/2, 2*pi]);  % 刻度位置
xticklabels({'0', 'π/2', 'π', '3π/2', '2π'});  % 刻度标签(替换数字为符号)

4. 网格线(grid)

添加网格线便于读取数据:

matlab 复制代码
% 示例8:显示网格线(仅x轴/仅y轴/全部)
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
grid on;        % 显示全部网格线(默认)
% grid xon;     % 仅显示x轴网格线
% grid yon;     % 仅显示y轴网格线
grid minor;     % 显示次要网格线(更密集)

5. 坐标轴样式进阶(axis)

matlab 复制代码
axis equal;     % x/y轴等比例(避免图形拉伸)
axis square;    % 坐标轴区域为正方形
axis off;       % 隐藏坐标轴
axis on;        % 显示坐标轴(默认)

五、图表美化:标题/图例/背景

1. 标题(title)

matlab 复制代码
% 示例9:添加图表标题
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
title('正弦函数图像(0~2π)', 'FontSize', 14, 'FontWeight', 'bold');
% 'FontWeight', 'bold':标题加粗

2. 图例(legend)

绘制多条曲线时,添加图例区分:

matlab 复制代码
% 示例10:添加图例(指定位置)
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r--', x, y2, 'g:');
legend('sin(x)', 'cos(x)', 'Location', 'upper right');
% Location参数:upper right/upper left/lower right/best(自动选最优位置)

3. 背景颜色

matlab 复制代码
% 示例11:设置坐标轴背景色
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y);
set(gca, 'Color', [0.95, 0.95, 0.95]);  % 浅灰色背景(gca表示当前坐标轴)

六、完整实战案例:专业正弦余弦图表

matlab 复制代码
% 完整示例:自定义正弦余弦图表
clear all; clc;  % 清空变量和命令行

% 1. 生成数据
x = 0:0.2:2*pi;
y1 = sin(x);
y2 = cos(x);

% 2. 绘制曲线(自定义样式)
plot(x, y1, 'r--o', 'LineWidth', 1.5, 'MarkerSize', 6);
hold on;
plot(x, y2, 'g:^', 'LineWidth', 1.5, 'MarkerSize', 6);
hold off;

% 3. 坐标轴设置
xlim([0, 2*pi]);
ylim([-1.2, 1.2]);
xlabel('x 轴(弧度)', 'FontSize', 12);
ylabel('y 轴(函数值)', 'FontSize', 12);
xticks([0, pi/2, pi, 3*pi/2, 2*pi]);
xticklabels({'0', 'π/2', 'π', '3π/2', '2π'});
grid on;  % 显示网格

% 4. 图表美化
title('正弦函数与余弦函数对比', 'FontSize', 14, 'FontWeight', 'bold');
legend('sin(x)', 'cos(x)', 'Location', 'best');
set(gca, 'Color', [0.98, 0.98, 0.98]);  % 浅灰色背景

七、常见问题与避坑指南

常见错误 原因分析 解决方法
多条曲线样式未生效 未使用hold on,新曲线覆盖原有曲线 绘制多条曲线前加hold on,结束后加hold off
标记点不显示 x/y数组步长过小,标记点重叠;或未设置标记参数 增大步长(如0.5),或添加标记参数(如'o'
中文标签乱码 MATLAB字符编码问题(旧版本) 执行set(0,'DefaultTextFontName','SimHei')设置中文字体
坐标轴范围设置无效 设置顺序错误(先设置范围再绘图) 先绘图,再用xlim/ylim设置范围
线条宽度参数报错 参数名拼写错误(如linewidth小写) 正确写法:'LineWidth'(首字母大写)

八、进阶技巧

1. 保存图表(高质量导出)

matlab 复制代码
% 保存为PNG格式(分辨率300dpi)
print('-dpng', '-r300', 'sin_cos_plot.png');
% 保存为PDF格式(矢量图,无失真)
print('-dpdf', 'sin_cos_plot.pdf');

2. 批量绘制多条曲线

matlab 复制代码
% 示例:绘制y=x、y=x²、y=x³三条曲线
x = 0:0.1:5;
y = [x; x.^2; x.^3];  % 3行数组,每行对应一条曲线
plot(x, y);  % 自动绘制三条曲线,默认不同颜色
legend('y=x', 'y=x²', 'y=x³');

3. 交互式调整图表

绘制完成后,可通过MATLAB绘图窗口的"编辑"菜单,手动调整线条样式、坐标轴、图例等,适合快速美化图表。

总结

MATLAB plot()函数的核心是"数据+样式+坐标轴"的协同设置:

  1. 基础绘图:通过plot(x,y)绘制单/多条曲线;
  2. 样式自定义:组合线条、颜色、标记参数,搭配LineWidth/MarkerSize优化外观;
  3. 坐标轴设置:用xlim/ylim定范围,xlabel/ylabel加标签,grid加网格;
  4. 图表美化:添加标题、图例,设置背景色,让图表更专业。

掌握这些技能后,可快速绘制符合需求的二维图表,无论是数据可视化、课程作业还是科研绘图,都能高效完成。新手建议先从基础样式入手,逐步尝试自定义参数,结合实际数据反复练习,就能熟练掌握plot()函数的用法。

相关推荐
Slow菜鸟1 小时前
Java开发规范(八)| 安全规范—企业级应用的“架构级底线”
java·开发语言·安全
憨憨崽&1 小时前
进击大厂:程序员必须修炼的算法“内功”与思维体系
开发语言·数据结构·算法·链表·贪心算法·线性回归·动态规划
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于Java的公职备考在线学习系统的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
二川bro2 小时前
模型部署实战:Python结合ONNX与TensorRT
开发语言·python
联系QQ:276998852 小时前
电化学与冷启动仿真的赝电容计算及GITT扩散系数研究——阻抗分析拟合与全电池电容器性能评估
开发语言
言言的底层世界3 小时前
c++中STL容器及算法等
开发语言·c++·经验分享·笔记
liu****3 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
韭菜钟3 小时前
在Qt中使用QuickJS
开发语言·qt
β添砖java3 小时前
python第一阶段第六章python数据容器
开发语言·python