Matlab plotyy画2个纵坐标不同的三条曲线图,
时间: 2024-12-13 15:22:38 浏览: 9
具有两个纵坐标标度的图形-绘图实例附程序和图件
Matlab的plotyy函数用于在同一图表上同时绘制两个独立的y轴,这对于比较两个不同量级或意义的变量非常有用。以下是创建一个包含三条曲线,每个曲线对应一个y轴的基本步骤:
1. 首先,你需要准备数据。假设我们有三个变量x、y1和y2,以及它们对应的z1和z2,分别对应两个不同的y轴。
```matlab
x = linspace(0, 10, 100); % 创建一个x向量
y1 = sin(x);
y2 = cos(x.^2); % 这里是两个不同的y值系列
z1 = y1 + randn(size(x)); % 添加一些随机噪声
z2 = z1 * 2; % 双倍y1的数据范围
```
2. 使用plotyy函数,传入x向量和两个y值系列。第一条曲线(默认在左侧y轴)和第二条曲线(在右侧y轴):
```matlab
figure;
h1 = plotyy(x, y1, x, z1); % 第一条曲线
hold on; % 保持当前图形状态以便添加更多曲线
h2 = plotyy(x, y2, x, z2, 'r'); % 第二条和第三条曲线,红色表示
```
3. 对于第三个曲线,你可以选择它的颜色和线型(在这里,我们选择了红色,并设置为实线),`'r'`代表红色,如果需要其他样式可以替换。
4. 最后,记得关闭hold状态,否则后续的plot会叠加到现有图像上:
```matlab
hold off;
```
5. 如果想对每个y轴添加标题和标签,可以使用如下命令:
```matlab
xlabel('X-axis');
ylabel(h1.YAxisLeft, 'Y-axis 1');
ylabel(h1.YAxisRight, 'Y-axis 2', 'Color', 'r'); % 红色的右侧y轴标签
legend([h1(1), h2(1)], {'Y1', 'Y2'}); % 图例说明
```
阅读全文