第八星系人气爱 发表于 2024-3-1 11:02:43

Matlab--将数据划分并统计


作者:第八星系-陈小奔
邮箱:1509136879@qq.com

数据:气象数据、rand函数随机自定义
下载数据
clear, clc
%%%下载数据......
load('typeground.mat')
Boundary = load('TP_boundary.txt');
load('data.mat');
VarName1 = Boundary(:,1);
VarName2 = Boundary(:,2);                     
% 进行按大小分类......
s=0;
n=0;
p=0;
j=0;
for i=1:52
    if A(i,3)<-0.1
      s=s+1;
      s1 (s,1)=A(i,1);
      s1 (s,2)=A(i,2);

    elseif (-0.1<=A(i,3))&(A(i,3)<0)
      n=n+1;
      n1(n,1)=A(i,1);
      n1(n,2)=A(i,2);

    elseif (0<A(i,3))&(A(i,3)<=0.5)
      p=p+1;
      p1(p,1)=A(i,1);
      p1(p,2)=A(i,2);

    else   A(i,3)>0.5
      j=j+1;
      j1(j,1)=A(i,1);
      j1(j,2)=A(i,2);

    end
end

设置图框
%%%设置图框
figure(1)
axes('Position',);
hold on
contourf(typelon,typelat,typeground')
hold on
plot(VarName1,VarName2,'LineWidth',1,'Color','black' );
hold on
set(gca,'XTick',,'XTickLabel',...
    {'75°E','80°E','85°E','90°E','95°E','100°E','105°E'},'YTick',,...
    'YTickLabel',{'25°N','30°N','35°N','40°N'});

点图绘制
%%点图绘制......
hold on
h1=plot(s1(:,1),s1(:,2),'MarkerFaceColor',,'MarkerSize',10,'Marker','o',...
    'LineStyle','none',...
    'Color',);
h2=plot(n1(:,1),n1(:,2),'MarkerFaceColor',,'MarkerSize',7,'Marker','o',...
    'LineStyle','none',...
    'Color',);
h3=plot(p1(:,1),p1(:,2),'MarkerFaceColor',,'MarkerSize',7,'Marker','o',...
    'LineStyle','none',...
    'Color',);
h4=plot(j1(:,1),j1(:,2),'MarkerFaceColor',,'MarkerSize',10,'Marker','o',...
    'LineStyle','none',...
    'Color',);
legend1=legend(,'-0.11- -0.17','-0.003- -0.07','0.04-0.41','0.50-0.91');
set(legend1,...
    'Position',,...
    'FontSize',8);

添加直方统计图
%%%添加统计直方图.........
mm=';
axes1 = axes('position',...
    );
hold on
box(axes1,'on');
hold on
bar1 = bar(mm);

直方统计图上添加对应的数量
%%直方图上添加对应的数量
for i=1:4
    text(i-0.25,mm(i)+3,num2str(mm(i)),'FontSize',6,'FontName','arial')   
end
leg=legend('统计');
leg.ItemTokenSize=;
set(leg,...
    'Position',,...
    'FontSize',5,...
    'EdgeColor',);
ylim()
set(gca,'xtick',[],'ytick',[])


完整代码
clear, clc
%%%下载数据......
load('typeground.mat')
Boundary = load('TP_boundary.txt');
load('data.mat');
VarName1 = Boundary(:,1);
VarName2 = Boundary(:,2);                     
% 进行按大小分类......
s=0;
n=0;
p=0;
j=0;
for i=1:52
    if A(i,3)<-0.1
      s=s+1;
      s1 (s,1)=A(i,1);
      s1 (s,2)=A(i,2);

    elseif (-0.1<=A(i,3))&(A(i,3)<0)
      n=n+1;
      n1(n,1)=A(i,1);
      n1(n,2)=A(i,2);

    elseif (0<A(i,3))&(A(i,3)<=0.5)
      p=p+1;
      p1(p,1)=A(i,1);
      p1(p,2)=A(i,2);

    else   A(i,3)>0.5
      j=j+1;
      j1(j,1)=A(i,1);
      j1(j,2)=A(i,2);

    end
end

%%%设置图框
figure(1)
axes('Position',);
hold on
contourf(typelon,typelat,typeground')
hold on
plot(VarName1,VarName2,'LineWidth',1,'Color','black' );
hold on
set(gca,'XTick',,'XTickLabel',...
    {'75°E','80°E','85°E','90°E','95°E','100°E','105°E'},'YTick',,...
    'YTickLabel',{'25°N','30°N','35°N','40°N'});
%%点图绘制......
hold on
h1=plot(s1(:,1),s1(:,2),'MarkerFaceColor',,'MarkerSize',10,'Marker','o',...
    'LineStyle','none',...
    'Color',);
h2=plot(n1(:,1),n1(:,2),'MarkerFaceColor',,'MarkerSize',7,'Marker','o',...
    'LineStyle','none',...
    'Color',);
h3=plot(p1(:,1),p1(:,2),'MarkerFaceColor',,'MarkerSize',7,'Marker','o',...
    'LineStyle','none',...
    'Color',);
h4=plot(j1(:,1),j1(:,2),'MarkerFaceColor',,'MarkerSize',10,'Marker','o',...
    'LineStyle','none',...
    'Color',);
legend1=legend(,'-0.11- -0.17','-0.003- -0.07','0.04-0.41','0.50-0.91');
set(legend1,...
    'Position',,...
    'FontSize',8);

%%%添加统计直方图.........
mm=';
axes1 = axes('position',...
    );
hold on
box(axes1,'on');
hold on
bar1 = bar(mm);
%%直方图上添加对应的数量
for i=1:4
    text(i-0.25,mm(i)+3,num2str(mm(i)),'FontSize',6,'FontName','arial')   
end
leg=legend('统计');
leg.ItemTokenSize=;
set(leg,...
    'Position',,...
    'FontSize',5,...
    'EdgeColor',);
ylim()
set(gca,'xtick',[],'ytick',[])
微信搜索“第八星系人造大气理论爱好者”公众号,关注获取文章数据



页: [1]
查看完整版本: Matlab--将数据划分并统计