【matlab画多纵坐标图像】

一 、什么是多纵坐标图像

多纵坐标图像是一种在同一个坐标系中,使用多个纵坐标轴来表示不同的数据指标的图像。在多纵坐标图中,每个纵坐标轴可以有不同的刻度和单位,用于表示不同的数据范围。这样可以方便地比较不同指标的变化趋势,同时避免了将数据归一化或者使用不同的图表来比较数据指标的问题。多纵坐标图通常用于比较和分析多个相关性较弱的变量或指标,并且能够直观地展示它们之间的关系。

二、如何画二纵坐标图像

2.1:使用 yyaxis

matlab 复制代码
% 创建一个包含随机数据的向量
x = 1:10;
y1 = rand(1, 10);
y2 = rand(1, 10);

% 创建一个新的图形窗口
figure;

% 使用yyaxis函数来创建两个垂直坐标轴
yyaxis left;
% 在左侧坐标轴上绘制数据
plot(x, y1, 'b');
ylabel('左侧坐标轴');

yyaxis right;
% 在右侧坐标轴上绘制数据
plot(x, y2, 'r');
ylabel('右侧坐标轴');

% 添加图例
legend('左侧坐标轴', '右侧坐标轴');

% 标题和横轴标签
title('二纵坐标示例');
xlabel('x');

 
matlab 复制代码
% 创建一个包含随机数据的向量
x = 1:10;
y1 = rand(1, 10);
y2 = rand(1, 10);

% 创建一个新的图形窗口
figure;

% 使用yyaxis函数来创建两个垂直坐标轴
yyaxis left;
% 在左侧坐标轴上绘制数据
plot(x, y1, 'b');
ylabel('左侧坐标轴');

yyaxis right;
% 在右侧坐标轴上绘制数据
plot(x, y2, 'r');
ylabel('右侧坐标轴');

% 添加图例
legend('左侧坐标轴', '右侧坐标轴');

% 标题和横轴标签
title('二纵坐标示例');
xlabel('x');

 

2.2:使用 axes

matlab 复制代码
x = 0:0.1:10; % x轴数据
y1 = sin(x); % 第一个y轴数据
y2 = cos(x); % 第二个y轴数据

% 创建图窗
figure;

% 画出第一个y轴的图像
ax1 = subplot(1, 1, 1);
plot(ax1, x, y1, 'b-');
xlabel(ax1, 'X');
ylabel(ax1, 'Y1', 'Color', 'b');
title(ax1, 'y1 = sin(x)');

% 创建第二个y轴
ax2 = axes('Position', ax1.Position, 'YAxisLocation', 'right', 'Color', 'none');
hold(ax2, 'on');
plot(ax2, x, y2, 'r-');
ylabel(ax2, 'Y2', 'Color', 'r');
title(ax2, 'y2 = cos(x)');

% 修改第二个y轴的坐标范围
ylim(ax2, [-1.5, 1.5]);

% 删除第二个y轴的x轴刻度
ax2.XTick = [];

% 调整图窗位置
ax1.Position = [0.15, 0.2, 0.7, 0.7];
 
matlab 复制代码
x = 0:0.1:10; % x轴数据
y1 = sin(x); % 第一个y轴数据
y2 = cos(x); % 第二个y轴数据

% 创建图窗
figure;

% 画出第一个y轴的图像
ax1 = subplot(1, 1, 1);
plot(ax1, x, y1, 'b-');
xlabel(ax1, 'X');
ylabel(ax1, 'Y1', 'Color', 'b');
title(ax1, 'y1 = sin(x)');

% 创建第二个y轴
ax2 = axes('Position', ax1.Position, 'YAxisLocation', 'right', 'Color', 'none');
hold(ax2, 'on');
plot(ax2, x, y2, 'r-');
ylabel(ax2, 'Y2', 'Color', 'r');
title(ax2, 'y2 = cos(x)');

% 修改第二个y轴的坐标范围
ylim(ax2, [-1.5, 1.5]);

% 删除第二个y轴的x轴刻度
ax2.XTick = [];

% 调整图窗位置
ax1.Position = [0.15, 0.2, 0.7, 0.7];
 

三、如何画多纵坐标图像

本人尝试了很多方法,目前只找到了一种方法 就是先做数据缩放,然后再单独画坐标轴

3.1 数据缩放

matlab 复制代码
function ynew=trans(y0,ymin1,ymax1,ymin2,ymax2)

ynew=ymin1+(ymax1-ymin1)*(y0-ymin2)./(ymax2-ymin2);

3.2 使用axes画坐标轴

方法和2.1的一样,使用axes函数 通过position参数 产生不同的坐标轴。

四、结果展示

4.1 二坐标轴图像

4.1 三坐标轴图像

五、源码分享

本人擅长各类优化模型的建模和求解,具有近400个优化项目的建模仿真经验,擅长模型构建,算法设计,算法实现和算法改进。累计指导各类建模/算法比赛和SCI写作超过100人次。

本人长期提供: ①源码分享(近1000个本人手写项目) ②辅导答疑(远程桌面一对一语音+文档指导,可以录屏反复观看)

③项目定制(根据您的现实问题,针对性建模求解,提供完整方案+代码实现)

长期在线,欢迎咨询,一般晚上看消息!!!

相关推荐
listhi52017 小时前
基于MATLAB的高斯混合模型(GMM)实现
开发语言·matlab
Ohpaopaopao1 天前
4准则下,2可加模糊测度满足单调性和有界性约束。假设没有任何其他先验信息,基于Marichal熵最大的目标,求解莫比乌斯参数。
matlab
可编程芯片开发1 天前
基于YALMIP和CPLEX工具箱的多时段配电网重构算法matlab仿真
matlab·yalmip·cplex·配电网重构·多时段
民乐团扒谱机1 天前
PCA 主成分分析:数据世界的 “旅行清单整理师”—— 从 30 维杂乱到 2 维清晰的诗意降维
大数据·数学建模·matlab·pca·主成分分析·数据处理·降维
不枯石1 天前
Matlab通过GUI实现点云的随机一致性(RANSAC)配准
开发语言·图像处理·算法·计算机视觉·matlab
牛马的人生1 天前
MATLAB模块库入门:提升你的工程分析效率
开发语言·其他·matlab
不枯石2 天前
Matlab通过GUI实现点云的Loss配准
图像处理·算法·计算机视觉·matlab
agilearchitect3 天前
MATLAB线性代数函数完全指南
线性代数·其他·决策树·matlab
不枯石3 天前
Matlab通过GUI实现点云的ICP配准
linux·前端·图像处理·计算机视觉·matlab
haing20193 天前
使用matlab进行牛顿迭代求函数极值的方法
开发语言·matlab·牛顿迭代