matlab绘制双纵坐标图

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB画双纵坐标

具有两个纵坐标标度的图形

在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:

plotyy(x1,y1,x2,y2)

其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。

双y轴坐标可以用plotyy(x,y1,x,y2)来实现

双x坐标可以用

set(gca,'xaxislocation','bottom','xticklabel',{'0','1','2','3','4'}) (假设x轴的标注为1,2,3,4)

set(gca,'xaxislocation','top','xticklabel',{'0','1','2','3','4'})

进行相应的设置

实现双纵坐标画图,其中一个为对数坐标,另一个为正常坐标。而且两个坐标的范围差别很大

举例如下:

t = 0:900; A = 1000; a = 0.005; b = 0.005;

z1 = A*exp(-a*t);

z2 = sin(b*t);

[haxes,hline1,hline2] = plotyy(t,z1,t,z2,'semilogy','plot');

/archiver/tid-738830.html

matlab作图里面如何分别设置双纵坐标的刻度?工作遇到如下问题:

需要设置双y轴的刻度,用到以下函数,

set(gca,'XTick',[0:5:100])

set(gca,'yTick',[0:10:350])

只是设置左边的y轴刻度,请问各位高手,右边y轴怎么设置刻度标注?

双纵坐标的标注已实现

[AX]=plotyy(x1,y1,x1,y2);

set(get(AX(1),'Ylabel'),'string','left Y-axis‘);

set(get(AX(2),'Ylabel'),'string','right y-axis');

了解plotyy的返回值

[AX]=plotyy(x1,y1,x1,y2);

得到两个axes句柄,AX(1)和AX(2)

set(AX(1),'yTick',[0:10:350]) 设置左边Y轴的刻度set(AX(2),'yTick',[0:10:350]) 设置右边Y轴的刻度

/thread-42331-1-1.html 双y坐标实例

close all hidden

clear all

clc

% w=boxcar(nfft);

fni1=input('请输入时间序列文件: ','s');

fid1=fopen(fni1,'r');

s=fscanf(fid1,'%s',1);

if same(s,'Curve')

for i=1:61

tline=fgetl(fid1);

end

else

fid1=fopen(fni1,'r');

end

a1=fscanf(fid1,'%f');

status=fclose(fid1);

n=length(a1);

n2=n/2;

a2=reshape(a1,2,n2);

x1=a2(1,:);

y1=a2(2,:);

fni2=input('输入速度曲线文件','s');

fid2=fopen(fni2,'r');

b=fscanf(fid2,'%f');

n3=length(b);

n4=n3/2;

b2=reshape(b,2,n4);

x2=b2(1,:);

y2=b2(2,:);

p=polyfit(x2,y2,3);

y3=polyval(p,x2);

% plot(x2,y2)

[AX,H1,H2]=plotyy(x1,y1,x2,y3);

grid on;

xlabel('时间/s');

set(get(AX(1),'Ylabel'),'string','加速度/g');

set(get(AX(2),'Ylabel'),'string','速度km/h');

set(AX(1),'yTick',[-2:0.5:2]);

% % axes1 = axes('Position',[0.08 0.73 0.38 0.25],'Parent',figure1); % axis(axes1,[0 xtime(end) -0.5 0.5]);

% set(AX(2),'YTick',[300:5:350]);

yticks2 = linspace(300,360,9);

set(AX(2),'YLim',[300 360],'YTick',yticks2);

set(H2,'linewidth',3);

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(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');

相关文档
最新文档