Matlb学习
通用快速提取excel数据并简单换图
%说明:这个代码是初学时作品,主要的功能是导入当前路径下的.xlsx,然后读取第一列和第二列快速作图
%用法:改参数即可
clc;
clear;%清场
%改参数区
Filename='origin.xlsx';
Norma=0;%归一化就改成1
A='绿色';
S='实线';
width=2;
legs=0;%0不显示图例,1显示
legname='图例';
tits=0;%是否有标题
Title='标题';
Lax='时间';
Lay='电压';
Range=0;%是否限定范围
X_min=0;X_max=1;Y_min=0;Y_max=1;
%功能实现区
a = xlsread(Filename,'A:A');
b = xlsread(Filename,'B:B');
if Norma==1
b = normalize(b,'range');%归一化选项为真,对b归一化
end
Color='k';
B1='红色';
B2='绿色';
B3='蓝色';
B4='蓝绿色';
B5='洋红色';
B6='黄色';
B7='黑色';
B8='白色';
if strcmp(A,B1)==1
Color='r';
end
if strcmp(A,B2)==1
Color='g';
end
if strcmp(A,B3)==1
Color='b';
end
if strcmp(A,B4)==1
Color='c';
end
if strcmp(A,B5)==1
Color='m';
end
if strcmp(A,B6)==1
Color='y';
end
if strcmp(A,B7)==1
Color='k';
end
if strcmp(A,B8)==1
Color='w';
end
if strcmp(S,'实线')==1
Shape='-';
end
if strcmp(S,'虚线')==1
Shape='--';
end
if strcmp(S,'点线')==1
Shape=':';
end
if strcmp(S,'点划线')==1
Shape='-.';
end
O=strcat(Shape,Color);
plot(a,b,O,'LineWidth',width)
hold on
if legs==1
legend(legname);%图例
end
if tits==1
title(Title);%标题
end
if Range==1
axis([X_min,X_max,Y_min,Y_max])
end
xlabel(Lax)%标签
ylabel(Lay)
展望:可以结合APP Desiginer设计出一种可交互的应用,搜索路径放到全盘。遇到的问题是最后控件的参数传递做不出来,全局变量没有用,句柄的用法不熟悉。