如何用excel筛选相似内容_Matlab如何筛选Excel数据并绘图

31789b47ffd4a62041e9adae137827ef.png

最近有知乎网友问我如何利用Matlab筛选Excel数据并绘制图线,在了解其需求后,我给一点参考意见,当时并没有完整的解决方案,今天上午尝试了几轮后,找到了一个方案。

需求

2e2834f57be2483399d3f0e07037c9d5.png

如上图的表格示例,需要根据第1列name中不同数据筛选出对应第2、3列数据,并绘制对比图。

解决思路:

1、读取完整Excel数据,利用unique函数找到第1列中所有不同元素数据;

2、设置for循环,依次根据第1列不同数据筛选2、3列数据;

3、在循环中绘制对应图线,设置图例。

完整代码如下:

clc;clear;clear all;
%读取excel数据
sx=xlsread('D:1HSQHSQFilesmatlab files20200605_shaixuan.xlsx');
u=unique(sx(:,1));%找出第1列中所有不同的元素或数值

i=1;%设置起始数值为1
%下面开始循环
for n=1:size(u) %设置循环次数为第1列中不同元素个数
    a=u(n);%将u中每个不同数值依次赋值给a
    c=find(sx(:,1)==a);%找到excel数据sx中所有第一列等于a的行数
    b=sx(c,2:3);%根据c的行数找到第2列和3列的数据赋给b
    eval(['Re_',num2str(a),'=','b']);%根据不同a值筛选出数据
    
    scatter(b(:,1),b(:,2)); %绘制散点图
    hold on
    
    legend_str{n}=['Re' num2str(a)]; %在循环中根据不同a值设置每组数据坐标轴图例

    i=i+1;
end
legend(legend_str); %设置完整的坐标轴图例
hold off

绘图结果如下:

431aa39e5c1c8130147cb4c00589d45d.png

以上。

  • 1
    点赞
  • 0
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页

打赏

解说柯基

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者