0
点赞
收藏
分享

微信扫一扫

MATLAB读取EXCEL表格文件,并进行可视化

向上的萝卜白菜 2022-03-26 阅读 117

首先目录下存在一个 data.xlsx 的数据文件,数据内容如下:

(注意:实例所给文件不存在缺失值、异常值等,故没有进行数据预处理,各位读者应按自身实际情况判断数据是否需要进行预处理)

数据读入方法1:

>> a = xlsread('data.xlsx')  % 自动提取表格中最大数值矩阵

a =

   865   141   NaN   690   131
   941   187   NaN   254   495
   711   841   NaN   736   443
   782   726   NaN   128   789
   769   385   NaN   349   816
   453   956   NaN   NaN   NaN

>> xy = [a(:,[1,2]);a(1:end-1,[4,5])]  %提取x,y坐标

xy =

   865   141
   941   187
   711   841
   782   726
   769   385
   453   956
   690   131
   254   495
   736   443
   128   789
   349   816

数据读入方法2:

clc,clear;
 [a,b] = xlsread('data.xlsx','A2:F7')  %不包含表头
a =

   865   141   NaN   690   131
   941   187   NaN   254   495
   711   841   NaN   736   443
   782   726   NaN   128   789
   769   385   NaN   349   816
   453   956   NaN   NaN   NaN


b =

  6×4 cell 数组

    {'基地R'  }    {0×0 char}    {0×0 char}    {'无名高地'}
    {'基地S'  }    {0×0 char}    {0×0 char}    {'山谷1'  }
    {'基地T'  }    {0×0 char}    {0×0 char}    {'山谷11' }
    {'101高地'}    {0×0 char}    {0×0 char}    {'山谷01' }
    {'12高地' }    {0×0 char}    {0×0 char}    {'山谷001'}
    {'116高地'}    {0×0 char}    {0×0 char}    {0×0 char }
 
>> name = [b(:,1);b([1:end-1],4)] %提取地名

name =

  11×1 cell 数组

    {'基地R'  }
    {'基地S'  }
    {'基地T'  }
    {'101高地'}
    {'12高地' }
    {'116高地'}
    {'无名高地'}
    {'山谷1'  }
    {'山谷11' }
    {'山谷01' }
    {'山谷001'}

完整的脚本文件如下:

clc,clear
[a,b] = xlsread('data.xlsx','A2:F7'); %提取需要的数据,不需要表头
a = [ a( : , [1,2]) ; a([1 : end-1], [4 5])]; % 提取x,y坐标
b = [b(:,1);b([1:end-1],4)]; %提取地名
plot(a([1:3],1),a([1:3],2),'p'); %画前三个点
hold on
plot(a([4:end],1),a([4:end],2),'*'); %画其余点
text(a(:,1)+5,a(:,2),b) %对所有点进行标注

运行结果如下:

 

举报

相关推荐

0 条评论