clear;clc;
figure(4)
%脚本运行效率低不知道咋提高
x =1962:1:2009;
x1=1962:1:1970;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止
x2=1970:1:1990;
x3=1990:1:2009;
x=x';
x1=x1';
x2=x2';
x3=x3';
data = xlsread('data.xlsx',1,'B4:O51');
GFI = data(:,1);
GTI = data(:,2);
AFI = data(:,3);
ATI = data(:,4);
pGFI = data(:,5);
pGTI = data(:,6);
pAFI = data(:,7);
pATI = data(:,8);
sGFI = data(:,9);
sGTI = data(:,10);
sAFI = data(:,11);
sATI = data(:,12);
sp = data(:,13);
pre = data(:,14);
subplot(2,2,1)%GFI
t1=polyfit(x,GFI,1);
t2=polyfit(x,pGFI,1);
t3=polyfit(x,sGFI,1);
%
% t4=polyfit(x1,GFI(1:9,1),1);
% t5=polyfit(x1,pGFI(1:9,1),1);
% t6=polyfit(x1,sGFI(1:9,1),1);
% t7=polyfit(x2,GFI(9:29,1),1);
% t8=polyfit(x2,pGFI(9:29,1),1);
% t9=polyfit(x2,sGFI(9:29,1),1);
% t10=polyfit(x3,GFI(29:48,1),1);
% t11=polyfit(x3,pGFI(29:48,1),1);
% t12=polyfit(x3,sGFI(29:48,1),1);
[AX,H1,H2]=plotyy(x,pre,x,[GFI,pGFI,sGFI,polyval(t1,x),polyval(t2,x),polyval(t3,x)],'bar','plot','r'); %画双轴,AX(1)左轴,AX(2)右轴,H为曲线本身
% [AX,H1,H2]=plotyy(x,pre,[x,x,x,x1,x1,x1,x2,x2,x2,x3,x3,x3],[GFI,pGFI,sGFI,polyval(t4,x1),polyval(t5,x1),polyval(t6,x1),polyval(t7,x),polyval(t8,x),polyval(t9,x),polyval(t10,x),polyval(t11,x),polyval(t12,x)],'bar','plot'); %画双轴,AX(1)左轴,AX(2)右轴,H为曲线本身
set(AX(1),'TickDir','out','YDir','reverse','Ylim',[0,500],'Xlim',[1960,2010],'YTick',[0:100:500],'YTickLabel',[0 100 200 300 400 500],'YColor','b','FontSize',12); %设置右边轴为倒立
set(AX(2),'TickDir','in','Ylim',[700,3000],'Xlim',[1960,2010],'YTick',[700:500:3000],'FontSize',12,'YColor','k'); %设置右边轴为倒立
set(H2(1,1),'color','r','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(2,1),'color','b','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(3,1),'color','g','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(4,1),'color','r','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(5,1),'color','b','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(6,1),'color','g','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H1,'FaceColor',[0.929411768913269 0.694117665290833 0.125490203499794],'EdgeColor',[0.749019622802734 0 0.749019622802734],'BarWidth',0.3)
set(get(AX(2),'Xlabel'),'String','Time');
set(get(AX(2),'Ylabel'),'String','GFI');
set(get(AX(1),'Ylabel'),'string','Precipitation (mm)');
hold on
legend([H2(1),H2(2),H2(3),H1],'GFI','PGFI','SGFI','Precipitation');
hold off
% hold on
% plot([1990,1990],[0,5000],'-r','LineWidth',1.5);
% plot([2000,2000],[0,5000],'-r','LineWidth',1.5);
% hold off
subplot(2,2,2)%GTI
t1=polyfit(x,GTI,1);
t2=polyfit(x,pGTI,1);
t3=polyfit(x,sGTI,1);
[AX,H1,H2]=plotyy(x,pre,x,[GTI,pGTI,sGTI,polyval(t1,x),polyval(t2,x),polyval(t3,x)],'bar','plot','r'); %画双轴,AX(1)左轴,AX(2)右轴,H为曲线本身
set(AX(1),'TickDir','out','YDir','reverse','Ylim',[0,500],'Xlim',[1960,2010],'YTick',[0:100:500],'YTickLabel',[0 100 200 300 400 500],'YColor','b','FontSize',12); %设置右边轴为倒立
set(AX(2),'TickDir','in','Ylim',[400,2500],'Xlim',[1960,2010],'YTick',[400:500:2500],'FontSize',12,'YColor','k'); %设置右边轴为倒立
set(H2(1,1),'color','r','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(2,1),'color','b','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(3,1),'color','g','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(4,1),'color','r','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(5,1),'color','b','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(6,1),'color','g','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H1,'FaceColor',[0.929411768913269 0.694117665290833 0.125490203499794],'EdgeColor',[0.749019622802734 0 0.749019622802734],'BarWidth',0.3)
set(get(AX(2),'Xlabel'),'String','Time');
set(get(AX(2),'Ylabel'),'String','GTI');
set(get(AX(1),'Ylabel'),'string','Precipitation (mm)');
hold on
legend([H2(1),H2(2),H2(3),H1],'GTI','PGTI','SGTI','Precipitation');
hold off
subplot(2,2,3)%AFI
t1=polyfit(x,AFI,1);
t2=polyfit(x,pAFI,1);
t3=polyfit(x,sAFI,1);
[AX,H1,H2]=plotyy(x,pre,x,[AFI,pAFI,sAFI,polyval(t1,x),polyval(t2,x),polyval(t3,x)],'bar','plot','r'); %画双轴,AX(1)左轴,AX(2)右轴,H为曲线本身
set(AX(1),'TickDir','out','YDir','reverse','Xlim',[1960,2010],'Ylim',[0,500],'YTick',[0:100:500],'YTickLabel',[0 100 200 300 400 500],'YColor','b','FontSize',12); %设置右边轴为倒立
set(AX(2),'TickDir','in','Ylim',[1000,4000],'Xlim',[1960,2010],'YTick',[1000:500:4000],'FontSize',12,'YColor','k'); %设置右边轴为倒立
set(H2(1,1),'color','r','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(2,1),'color','b','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(3,1),'color','g','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(4,1),'color','r','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(5,1),'color','b','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(6,1),'color','g','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H1,'FaceColor',[0.929411768913269 0.694117665290833 0.125490203499794],'EdgeColor',[0.749019622802734 0 0.749019622802734],'BarWidth',0.3)
set(get(AX(2),'Xlabel'),'String','Time');
set(get(AX(2),'Ylabel'),'String','AFI');
set(get(AX(1),'Ylabel'),'string','Precipitation (mm)');
hold on
legend([H2(1),H2(2),H2(3),H1],'AFI','PAFI','SAFI','Precipitation');
hold off
subplot(2,2,4)%ATI
t1=polyfit(x,ATI,1);
t2=polyfit(x,pATI,1);
t3=polyfit(x,sATI,1);
[AX,H1,H2]=plotyy(x,pre,x,[ATI,pATI,sATI,polyval(t1,x),polyval(t2,x),polyval(t3,x)],'bar','plot','r'); %画双轴,AX(1)左轴,AX(2)右轴,H为曲线本身
set(AX(1),'TickDir','out','YDir','reverse','Xlim',[1960,2010],'Ylim',[0,500],'YTick',[0:100:500],'YTickLabel',[0 100 200 300 400 500],'YColor','b','FontSize',12); %设置右边轴为倒立
set(AX(2),'TickDir','in','Ylim',[0,1700],'Xlim',[1960,2010],'YTick',[0:500:1700],'FontSize',12,'YColor','k'); %设置右边轴为倒立
set(H2(1,1),'color','r','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(2,1),'color','b','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(3,1),'color','g','LineWidth',1.5,'LineStyle','-');%%线型颜色
set(H2(4,1),'color','r','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(5,1),'color','b','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H2(6,1),'color','g','LineWidth',1.5,'LineStyle','--');%%线型颜色
set(H1,'FaceColor',[0.929411768913269 0.694117665290833 0.125490203499794],'EdgeColor',[0.749019622802734 0 0.749019622802734],'BarWidth',0.3)
set(get(AX(2),'Xlabel'),'String','Time');
set(get(AX(2),'Ylabel'),'String','ATI');
set(get(AX(1),'Ylabel'),'string','Precipitation (mm)');
hold on
legend([H2(1),H2(2),H2(3),H1],'ATI','PATI','SATI','Precipitation');
hold off