






1. 代码内容
% 获取当前目录下的所有txt文件
files = dir('*.txt');
numFiles = length(files);
% 准备一个图形窗口
figure;
% 定义一组颜色,用于不同的线条
colors = ['r', 'g', 'b', 'c', 'm', 'y', 'k']; % 红、绿、蓝、青、品红、黄、黑
lineStyles = {'-', '--', '-.', ':'}; % 实线、虚线、点划线、点线
% 遍历所有文件
for k = 1:numFiles
% 读取文件名
filename = files(k).name;
% 获取不带扩展名的文件名作为图例
legendName = strrep(filename, '.txt', '');
% 读取数据,忽略前四行
fileID = fopen(filename, 'r');
% 跳过前四行
for i = 1:4
fgetl(fileID);
end
% 读取剩余的数据
data = textscan(fileID, '%f%f', 'Delimiter', ' ', 'MultipleDelimsAsOne', true);
fclose(fileID);
% 提取光谱标签和光谱响应
wavelengths = data{1};
responses = data{2};
% 绘制光谱图,使用不同的颜色和线条样式
plot(wavelengths, responses, 'Color', colors(mod(k-1, length(colors))+1), ...
'LineStyle', lineStyles{mod(k-1, length(lineStyles))+1}, 'LineWidth', 2, ...
'DisplayName', legendName);
hold on; % 保持图像,以便在同一个图上绘制所有光谱
end
% 添加图例
% 添加图例
lgd = legend('show');
% 去除图例方框
set(lgd, 'Box', 'off'); % 使用set函数来设置图例属性
% 设置图例字体为宋体
set(lgd, 'FontName', 'SimSun');
% 设置图例字体大小为16号
set(lgd, 'FontSize', 16);
% 设置图例字体为加粗
set(lgd, 'FontWeight', 'bold');
% 设置坐标轴的字体样式、大小和粗细
ax = gca; % 获取当前坐标轴句柄
ax.FontName = 'Times New Roman'; % 设置坐标轴字体为Times New Roman
ax.FontSize = 16; % 设置坐标轴字体大小为16号
ax.FontWeight = 'bold'; % 设置坐标轴字体为加粗
lgd.Box = 'off'; % 去除图例方框
lgd.FontName = 'SimSun'; % 设置图例字体为宋体
lgd.FontSize = 16; % 设置图例字体大小为16号
lgd.FontWeight = 'bold'; % 设置图例字体为加粗
% 设置坐标轴的字体样式、大小和粗细
ax = gca; % 获取当前坐标轴句柄
ax.FontName = 'Times New Roman'; % 设置坐标轴字体为Times New Roman
ax.FontSize = 16; % 设置坐标轴字体大小为16号
ax.FontWeight = 'bold'; % 设置坐标轴字体为加粗
% 设置图形的字体样式、大小和粗细
xlabel('Wavelength', 'FontName', 'Times New Roman', 'FontSize', 16, 'FontWeight', 'bold');
ylabel('Response', 'FontName', 'Times New Roman', 'FontSize', 16, 'FontWeight', 'bold');
% 关闭hold状态
hold off;
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删