- 积分
- 15604
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-9-9
- 最后登录
- 1970-1-1
|
发表于 2019-3-27 16:22:04
|
显示全部楼层
哎呀 不知道怎么不用金钱传 我把matlab代码粘过来好了
图
代码
clear; close all; clc;
dir = 'D:\ypma\files\';
file = [dir,'combine.xlsx'];
sheet_n = 'factors';
temp = xlsread(file,sheet_n);
sites = temp(:,1:2);
lonlat = temp(:,3:4);
%% 这个up_factor可以修改
up_factor = 10;
tgt_fac = 26;
dims = size(temp);
fac = zeros(dims(1),(dims(2)-10+1)/7,7);
rlt_site = zeros(dims(1),25);
for icol = 10:7:dims(2)-1
fac(:,(icol-10)/7+1,:) = temp(:,icol:icol+6);
end
only_fac = fac(:,1:up_factor,1);
only_fac_130 = only_fac; only_fac_130(only_fac_130>130) = NaN; only_fac_130(only_fac_130<-1.0) = NaN;
dims_fac = size(only_fac_130);
%% 画图设置从这开始!!!!!
figure(1)
fsize = 14;
set(gcf,'unit','centimeters','position',[10 0 20 10]);
scat_data = zeros(10,130);
for ilen = 1:dims_fac(2)
temp = only_fac_130(:,ilen);
for isite = 1:length(temp)
if ~isnan(temp(isite))
scat_data(ilen,temp(isite)) = scat_data(ilen,temp(isite))+1;
end
end
end
scat_color = zeros(10,130);
for ifac = 1:130
scat_color(:,ifac) = 100.*scat_data(:,ifac)./sum(scat_data(:,ifac));
end
ssize = 60;
colors = jet(16);
for ilen = 1:dims_fac(2)
% scatter(zeros(10,1)+ifac,1:10,ssize,scat_color(:,ifac),'square','filled','MarkerEdgeColor','none'); hold on;
for ifac = 1:130
if scat_color(ilen,ifac)<=5.0; rec_color = colors(1,:); end;
if scat_color(ilen,ifac)>5.0 && scat_color(ilen,ifac)<=10.0; rec_color = colors(4,:); end;
if scat_color(ilen,ifac)>10.0 && scat_color(ilen,ifac)<=15.0; rec_color = colors(6,:); end;
if scat_color(ilen,ifac)>15.0 && scat_color(ilen,ifac)<=20.0; rec_color = colors(8,:); end;
if scat_color(ilen,ifac)>20.0 && scat_color(ilen,ifac)<=25.0; rec_color = colors(10,:); end;
if scat_color(ilen,ifac)>25.0 && scat_color(ilen,ifac)<=30.0; rec_color = colors(11,:); end;
if scat_color(ilen,ifac)>30.0 && scat_color(ilen,ifac)<=35.0; rec_color = colors(12,:); end;
if scat_color(ilen,ifac)>35.0 && scat_color(ilen,ifac)<=40.0; rec_color = colors(16,:); end;
rectangle('Position', [ifac-0.5,ilen-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
end
end
xlim([0.5 130.5]);ylim([0.5 10.5]);
ylabel('位置序号','FontSize',fsize); xlabel('因子序号','FontSize',fsize);
ax = gca;
ax.XAxis.TickDirection = 'out';
set(ax,'xtick',1:10:130,'Layer','top','FontSize',fsize);
set(ax,'ytick',1:1:10,'Layer','top','FontSize',fsize);
file3=['Fig_7_Q_factor_1_to_',num2str(up_factor),'_',sheet_n,'.eps'];
saveas(gca,file3,'psc2');
figure
set(gcf,'unit','centimeters','position',[10 0 20 10]);
rec_color = colors(1,:); rectangle('Position', [1-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none'); hold on;
rec_color = colors(4,:); rectangle('Position', [2-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
rec_color = colors(6,:); rectangle('Position', [3-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
rec_color = colors(8,:); rectangle('Position', [4-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
rec_color = colors(10,:); rectangle('Position', [5-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
rec_color = colors(11,:); rectangle('Position', [6-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
rec_color = colors(12,:); rectangle('Position', [7-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
rec_color = colors(16,:); rectangle('Position', [8-0.5,1-0.5,1.0,1.0], 'FaceColor', rec_color, 'EdgeColor', 'none');
xlim([0 10]); ylim([0 2]); |
-
|