Matlab 仅在YY轴上绘制四个图中的两个

Matlab 仅在YY轴上绘制四个图中的两个,matlab,plot,Matlab,Plot,我试图使用一个plotyy并在两个y轴上绘制四个图表,但它不起作用 有人能看出问题出在哪里吗 它仅绘制前两个图表: load dexpan2Cp; x1=dexpan2Cp(:,2); x1=x1/3600; y1=((dexpan2Cp(:,3)+dexpan2Cp(:,4))/2000)*32.5; load Dexpan2_2C; x2=Dexpan2_2C(:,1); x2=x2/3600; y2=Dexpan2_2C(:,2); A = importdata('Scan Session

我试图使用一个
plotyy
并在两个y轴上绘制四个图表,但它不起作用

有人能看出问题出在哪里吗

它仅绘制前两个图表:

load dexpan2Cp;
x1=dexpan2Cp(:,2);
x1=x1/3600;
y1=((dexpan2Cp(:,3)+dexpan2Cp(:,4))/2000)*32.5;
load Dexpan2_2C;
x2=Dexpan2_2C(:,1);
x2=x2/3600;
y2=Dexpan2_2C(:,2);
A = importdata('Scan Session94-Dexpan19.txt','\t',5); 
Dexpan19p=A.data;
save('Dexpan19p.mat','Dexpan19p');
x3=Dexpan19p(:,2);
x3=x3/3600;
y3=((Dexpan19p(:,3)+Dexpan19p(:,4))/2000)*32.5;
load Dexpan19C;
x4=Dexpan19C(:,1);
x4=x4/3600;
y4=Dexpan19C(:,2)+3.3;
x1 = x1(x1<115.7); y1 = y1(1: length(x1) , :);
x2 = x2(x2<115.7); y2 = y2(1: length(x2), :);
x3 = x3(x3<115.7); y3 = y3(1: length(x3), :);
x4 = x4(x4<115.7); y4 = y4(1: length(x4), :);
hold off;
figure;
[ax, h1, h2] = plotyy(x1,y1,x2,y2);
set(h1,'g',y1,'DisplayName','1');
set(h2,'b',y2,'DisplayName','2e');
hold(ax(1),'on');
plot(ax(1),x3,y3,'r',y3,'DisplayName','3');
hold(ax(2),'on');
plot(ax(2),x4,y4,'k',y4,'DisplayName','4');
xlabel('Time (h)');
ylabel(ax(1),' Pressure (MPa)');
ylabel(ax(2),'Tempereture (°C)');
legend('show');
加载dexpan2Cp;
x1=dexpan2Cp(:,2);
x1=x1/3600;
y1=((dexpan2Cp(:,3)+dexpan2Cp(:,4))/2000)*32.5;
加载Dexpan2_2C;
x2=Dexpan2_2C(:,1);
x2=x2/3600;
y2=Dexpan2_2C(:,2);
A=导入数据('Scan Session94-Dexpan19.txt','\t',5);
Dexpan19p=A.数据;
保存('Dexpan19p.mat','Dexpan19p');
x3=Dexpan19p(:,2);
x3=x3/3600;
y3=((Dexpan19p(:,3)+Dexpan19p(:,4))/2000)*32.5;
加载Dexpan19C;
x4=Dexpan19C(:,1);
x4=x4/3600;
y4=Dexpan19C(:,2)+3.3;

x1=x1(x1您似乎使用了无效的语法,并且没有告诉我们在执行代码时收到了什么错误。特别是,在绘制前两行之后,您的代码错误就消失了,因此您只绘制了两行

为了让它工作,你的四行应该改成

set(h1,'Color','g','DisplayName','1');
set(h2,'Color','b','DisplayName','2e');
plot(ax(1),x3,y3,'Color','r','DisplayName','3');
plot(ax(2),x4,y4,'Color','k','DisplayName','4');