在 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 的子图、网格、坐标轴范围等功能,可以帮助你绘制更复杂的图形。
发表回复