首先本文这里以两幅ET的数据作为样例,分辨率为1000m,值的区间再8到1100,两者的最大差距不超过800,选择以5作为两幅图像的间隔,提取如下代码
作者:画长空_yin
链接:https://www.jianshu.com/p/ca4b4616b815
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
% author [email protected] filemean=\'I:\蒸散发\各ET的均值和趋势\yr_SSEB_2003-2013年ET的均值.tif\'; sseb=importdata(filemean); filemean=\'I:\蒸散发\各ET的均值和趋势\yr_SSEBopYRB_2003-2013年ET的均值.tif\'; ssebop=importdata(filemean); sy1=find(sseb>0 & ssebop>0); %找到两者的有效值 sseb_1=double(sseb(sy1)); ssebop_1=double(ssebop(sy1)); valuesum=zeros(47961,3); %以47961是因为8:5:1100的长度为219,219的平方为47961 k=1; for i=8:5:1100 %sseb sy=find(sseb_1>=i & sseb_1<i+5); j1=i+800; j2=i-800; if j1>1100 j1=1100; end if j2<8 j2=8; end for j=j2:5:j1 %ssebop sy2= find(ssebop_1>=j & ssebop_1<j+5); sy3=intersect(sy,sy2); cd=length(sy3); if length(cd)>0 value=[i,j,cd]; valuesum(k,:)=value; end k=k+1; end end
作者:画长空_yin
链接:https://www.jianshu.com/p/ca4b4616b815
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
% author yinlichang3064@163.com set(gcf,\'Units\',\'centimeters\',\'Position\',[6 6 14 13]); %设置图像位置和大小 valuesum_sseb=valuesum(valuesum(:,3)>0,:); scatter(valuesum_sseb(:,1),valuesum_sseb(:,2),[],valuesum_sseb(:,3),\'.\') set(gca,\'Xlim\',[0,1100],\'Ylim\',[0,1100],\'XTick\',[0:300:1100],\'YTick\',[0:300:1100]) ylabel(\'ET_S_S_E_B_o_p_Y_R_B\',\'Fontname\', \'Times New Roman\',\'FontSize\',12); %下标 hold on h1=refline(1,0) %辅助1:1线 h2=refline(0.3428,284.4) %拟合线获取 set(h1,\'color\',\'black\',\'linewidth\',1.5) set(h2,\'color\',\'red\',\'linewidth\',1.5) text(100,1000,\'R^2=0.51\') text(100,900,\'N=798125\') text(800,100,\'ET_S_S_E_B_o_p_G_l_o\')
想输出高分辨图像,采用文件-导出设置,在该对话框中采用渲染工具,并设置分辨率为600,然后导出为jpg格式即可,单个图像的话可以增加colorbar,具体设置如下,直接在最后一行加上这句
colorbar([0.91 0.11 0.03 0.81])
颜色表征了数量的多少,红色表示拟合线,黑色表示1:1的线下图是用另外数据同样流程制作的。
请发表评论