如何用matlab实现双y坐标的绘图,以及控制两个Y坐标轴的名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab实现双y坐标的绘图,以及控制两个Y坐标轴的名称相关的知识,希望对你有一定的参考价值。

参考技术A 用plotyy,例如:
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
set(get(AX(1),'Ylabel'),'String','Slow Decay') %左侧y轴
set(get(AX(2),'Ylabel'),'String','Fast Decay') %右侧y轴
xlabel('Time (\musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--')%对应第一条曲线的线性y1
set(H2,'LineStyle',':')%对应第一条曲线的线性y2

matlab 双y轴绘图能否多条线跟你共用一个y轴?

有没有这样一个matlab命令:
利用双y轴绘曲线,我找到的命令都是两条曲线,一条对应一个y轴,现在我期望每个y轴对应两条以上曲线,请问能实现吗?有这样的命令吗?请大家不吝赐教,谢谢!

参考技术A x = 0:0.01:10;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 100*exp(-0.05*x).*sin(x);
y3 = 1*exp(-0.5*x).*sin(10*x);
y4 = 2*exp(-0.5*x).*sin(5*x);
plotyy(x,[y1;y2],x,[y3;y4])本回答被提问者和网友采纳
参考技术B %matlab
clear;
clc;
% Matlab plotyy画双纵坐标图实例
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
y3 = 0.8*sin(x);
[AX,H1,H2] = plotyy(x,y1,x,[y2;y3],'plot');
set(AX(1),'XColor','k','YColor','b');
set(AX(2),'XColor','k','YColor','r');
HH1=get(AX(1),'Ylabel');
set(HH1,'String','Left Y-axis');
set(HH1,'color','b');
HH2=get(AX(2),'Ylabel');
set(HH2,'String','Right Y-axis');
set(HH2,'color','r');
set(H1,'LineStyle','-');
set(H1,'color','b');
set(H2(1),'LineStyle','-');
set(H2(1),'color','r');
set(H2(2),'LineStyle','-');
set(H2(2),'color','k');
legend([H1,H2(1),H2(2)],'y1 = 200*exp(-0.05*x).*sin(x)';'y2 = 0.8*exp(-0.5*x).*sin(10*x)';'y3 = 0.8*sin(x)');
xlabel('Zero to 20 musec.');
title('Labeling plotyy');

以上是关于如何用matlab实现双y坐标的绘图,以及控制两个Y坐标轴的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab画直方图

matlab里怎么画一个x轴两个y轴的图

MATLAB绘图功能

matlab双y轴作图两个y坐标轴设置问题,y轴刻度设置语句没发挥作用,求解答

如何用MATLAB把两个不同坐标范围的函数画在一个图上?

如何用matlab实现两个函数的卷积运算