Matlab 画双纵轴图

绘制双纵轴曲线图常用函数:YYaxis

用法示例:

clear;
clc;

x=linspace(0,10,5);
y1=x;
y2=2*x.^2;
y3=3*x.^3;

figure
% 左侧Y轴
yyaxis left
plot(x,y1,'Color','red','Marker','o') % 曲线y1,颜色,标记
hold on %保留当前绘图
plot(x,y2,'Color','blue','Marker','+') % 曲线y2,颜色,标记
title('Title'); % 图标题
xlabel('X Axis') % X轴标签
ylabel('YLeft Axis') % 左侧Y轴标签
% 右侧Y轴
yyaxis right
plot(x,y3,'Color','green','Marker','*') % 曲线y3,颜色,标记
ylabel('YRight Axis') % 右侧Y轴标签
legend('Y1','Y2','Y3') % 设置图例
grid on % 网格

### 实现多条Y轴共享同一X轴的绘方法 在Matlab中,为了在同一张表上显示具有不同尺度的数据序列,可以创建带有多个纵坐标的形。这通常涉及到使用`axes`函数以及设置位置属性来叠加坐标系[^1]。 #### 创建Y轴或多Y轴的方法如下: 定义初始数据集用于演示目的: ```matlab x = linspace(0, 10); % 定义公共的 X 轴范围 y1 = sin(x); % 数据系列一 y2 = exp(0.1*x).*cos(x); % 数据系列二,可能有不同的量级 ``` 建立第一个 Y 轴并绘制第一条曲线: ```matlab figure; % 新建一个窗口 ax1 = axes(); % 获取当前坐标区对象句柄 plot(ax1, x, y1); % 绘制第一组数据到默认坐标区域 ylabel('Sine Wave');% 设置左侧 Y 轴标签 ``` 添加第二个独立的 Y 轴并与现有 X 轴关联: ```matlab ax2 = axes('Position', get(ax1,'Position'),... 'YAxisLocation','right',... 'Color','none'); hold on; plot(ax2, x, y2, '--r'); % 使用红色虚线表示第二组数据 ylabel(ax2,'Exponential Damped Cosine') ;% 右侧 Y 轴标签 ``` 调整两个坐标系统的颜色和其他样式以区分它们,并确保两者共用相同的 X 轴刻度和标签。对于超过两条以上的 Y 轴情况,则需重复上述过程中的 `axes()` 和 `plot()` 命令部分,每次改变新加入的坐标系的位置 (`'left'`, `'right'`) 或者通过更复杂的布局管理工具如 `tiledlayout` 来安排额外的空间给新的坐标轴。 此外,如果需要进一步定制化这些多重坐标轴表,比如同步缩放、平移操作或是其他交互特性,可考虑利用MATLAB内置的功能或第三方开发包来进行扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值