在 MATLAB 中,plot
函数是最常用的绘图函数之一,用于生成二维图形。它能帮助我们以直观的方式展示数据。plot
函数的基本用途是将一组数据(通常是 x
和 y
坐标)绘制成图形。
下面是对 plot
函数的详细解析:
1. 基本语法
(1) 绘制简单的 x-y 曲线
plot(x, y)
x
: 自变量数据(通常是横坐标)。y
: 因变量数据(通常是纵坐标)。
例如,绘制 y = x^2
的曲线:
x = -10:0.1:10; % 定义 x 的范围
y = x.^2; % 计算 y = x^2
plot(x, y) % 绘制曲线
(2) 自定义线条样式
plot(x, y, 'style')
在 plot
函数中,style
用于指定图线的颜色、线型和标记。常见的 style
参数如下:
- 颜色:
'r'
: 红色'g'
: 绿色'b'
: 蓝色'k'
: 黑色'm'
: 品红'c'
: 青色'y'
: 黄色
- 线型:
'-'
: 实线':'
: 点线'-.'
: 虚线点线'--'
: 虚线
- 标记(用于显示数据点):
'o'
: 圆形标记'*'
: 星形标记'+'
: 十字形标记'x'
: 叉形标记'.'
: 小圆点标记
例如,绘制红色的虚线带圆点:
plot(x, y, 'r--o') % 红色虚线带圆点
2. 多条数据曲线
在一个图中绘制多条曲线,可以通过在 plot
函数中输入多个数据对来实现:
plot(x1, y1, 'r', x2, y2, 'b')
这将同时绘制两条曲线,一条为红色,一条为蓝色。
例如,绘制 y = x^2
和 y = x^3
:
x = -10:0.1:10;
y1 = x.^2;
y2 = x.^3;
plot(x, y1, 'r', x, y2, 'b')
3. 添加图例
图例用来标注不同的曲线,以便区分。使用 legend
函数添加图例:
plot(x, y1, 'r', x, y2, 'b')
legend('y = x^2', 'y = x^3')
4. 标题、坐标轴标签和网格
- 添加标题:
title('My Plot Title')
- 添加坐标轴标签:
xlabel('X-axis Label') ylabel('Y-axis Label')
- 显示网格:
grid on
例如,完整的代码如下:
x = -10:0.1:10;
y1 = x.^2;
y2 = x.^3;
plot(x, y1, 'r', x, y2, 'b')
title('Plot of y = x^2 and y = x^3')
xlabel('X Values')
ylabel('Y Values')
legend('y = x^2', 'y = x^3')
grid on
5. 设置坐标轴范围
使用 axis
命令设置坐标轴的范围。例如,设置 x
坐标轴为 [0, 5]
,y
坐标轴为 [0, 100]
:
axis([0 5 0 100])
6. 绘制散点图
虽然 plot
通常用于绘制连续曲线,但它也可以用于绘制散点图,只需要使用 'o'
标记:
x = 1:10;
y = rand(1, 10); % 随机生成10个数
plot(x, y, 'ro') % 红色圆形标记的散点图
7. 子图(Subplots)
使用 subplot
函数可以在同一窗口中绘制多个子图:
subplot(2, 1, 1) % 在 2 行 1 列的位置 1 绘制
plot(x, y1)
title('y = x^2')
subplot(2, 1, 2) % 在 2 行 1 列的位置 2 绘制
plot(x, y2)
title('y = x^3')
8. 自定义线宽和标记大小
你可以通过设置 'LineWidth'
和 'MarkerSize'
来自定义线条宽度和标记大小:
plot(x, y, 'r-', 'LineWidth', 2, 'Marker', 'o', 'MarkerSize', 8)
9. 使用 hold
保持当前图形
hold on
使得后续的图形不会覆盖当前图形,而是叠加绘制。hold off
则恢复默认行为,即每次绘制新图形时都会覆盖原图形。
plot(x, y1, 'r')
hold on
plot(x, y2, 'b')
hold off
10. 保存图形
保存图形为图像文件(如 PNG、JPEG、SVG 等):
saveas(gcf, 'myplot.png')
11. 示例:绘制多个数据集
下面是一个完整的例子,展示如何使用 plot
绘制多个数据集并添加标题、坐标轴标签、图例等:
x = -10:0.1:10;
y1 = x.^2;
y2 = x.^3;
y3 = x.^4;
plot(x, y1, 'r', x, y2, 'b', x, y3, 'g--')
title('Plot of y = x^2, y = x^3, and y = x^4')
xlabel('X Values')
ylabel('Y Values')
legend('y = x^2', 'y = x^3', 'y = x^4')
grid on
总结
plot
是绘制二维图形的基本函数,支持灵活的参数配置,能够实现多种效果。- 通过指定不同的颜色、线型、标记,可以轻松定制图形样式。
- 结合标题、坐标轴标签、图例等,可以使图形更加易于理解。
- 利用 MATLAB 的子图、网格、坐标轴范围等功能,可以帮助你绘制更复杂的图形。
发表回复