关键在于fig图的名称需要有好的规律性,方便使用for循环
例如:
将文件夹中的4张fig图放到一起,各图的名称如下图
代码如下
clc,clear all;
%% 提取图片数据
n = (1000-250)/250 + 1; %计算fig图片数量
a = 250; %初始图片的名称
for i = 1:n
open(['G:\fig图的当前路径\n=',num2str(a),'.fig']);
hl = findall(gca,'type','line'); % 如果图中有多条曲线,lh为一个数组
xc = get(hl,'Xdata')'; % 取出x轴数据,xc是一个元胞数组
yc = get(hl,'Ydata')'; % 取出y轴数据,yc是一个元胞数组
N(:,2*i-1) = xc;
N(:,2*i) = yc;
a = a + 250; % fig名称间隔数量
end
close all; %关闭当前全部fig图
% clear a hl i n xc yc
%% 画图
figure
C = colormap(jet(8)); %调用colormap的图库颜色
for j = 1:length(N(1,:))/2
plot(N(:,2*j-1),N(:,2*j),'-','color',C(2*j,:),'Linewidth',2)
hold on
end
set(gca,'Fontsize',24)
set(gcf,'unit','inches','Position',[3 2 12 8])
xlabel('W (m)','Fontsize',28)
ylabel('V (m/s)','Fontsize',28)
axis([0 0.16 0 1.4]);
text(0.12,0.4,'\theta = 23\circ','Fontsize',28)
结果:新得到图片为