用matlab画散点图并用光滑曲线连接/效率曲线/附代码

Excel内容: 代码:

%%清屏
clear ;
close all;
clc;
% param1:Excel文件名,无需扩展名
% param2:第几个Sheet,不是sheet的名,就是打开excel后,左下角的第几个
% param3:区域,表示方法和excel中的一样。
format short
[Num]=xlsread(THD,1,A1:D5);
x=Num(:,1);
y1=Num(:,2);
y2=Num(:,3);
y3=Num(:,4);
x=Num(:,1);
y1=Num(:,2);
y2=Num(:,3);
y3=Num(:,4);
xx=linspace(1,5);
yy1=spline(x,y1,xx);
yy2=spline(x,y2,xx);
yy3=spline(x,y3,xx);
% sets the hold state for the axes
hold(gca,on);
% 画出散点图
% plot(x,y1,hexagram,x,y2,o,x,y3,square)
plot(x,y1,hexagram,MarkerFaceColor,[0 0.4470 0.7410],...
                   MarkerEdgeColor,[0 0.4470 0.7410],LineWidth,1.5)
plot(x,y2,o,MarkerFaceColor,[0.9290 0.6940 0.1250],...
                   MarkerEdgeColor,[0.9290 0.6940 0.1250],LineWidth,1.5)
plot(x,y3,square,MarkerFaceColor,[0.4940 0.1840 0.5560],...
                   MarkerEdgeColor,[0.4940 0.1840 0.5560],LineWidth,1.5)
% 画出拟合后的曲线图
% plot(xx,yy1,xx,yy2,xx,yy3)
plot(xx,yy1,LineWidth,1.5,Color,[0 0.4470 0.7410])
plot(xx,yy2,LineWidth,1.5,Color,[0.9290 0.6940 0.1250])
plot(xx,yy3,LineWidth,1.5,Color,[0.4940 0.1840 0.5560])
% 取消以下行的注释以保留坐标区的 X 范围
xlim(gca,[0.5 5.5]);
% 取消以下行的注释以保留坐标区的 Y 范围
ylim(gca,[94 99]);
% 外边框开,gca:返回当前axes对象的句柄值
box(gca,on);
% hold off
hold(gca,off);
% 设置其余坐标区属性,可设置好了由代码生成
set(gca,GridLineStyle,--,LineStyleOrder,{
          
   -},LineWidth,0.75,...
    MinorGridAlpha,0.1,XGrid,on,XMinorGrid,on,XTick,[1 2 3 4 5],...
    XTickLabel,{
          
   1,2,3,4,5},YGrid,on,YMinorGrid,on,YTick,...
    [94 95 96 97 98 99]);

效果

参考 [1]: https://blog..net/cantjie/article/details/70216875

经验分享 程序员 微信小程序 职场和发展