修改这段代码,让绘制的每条曲线线型、标记样式和颜色都不一样,但是每次绘图都保持不变:function plot_excel_data2(filename) % filename: Excel 文件名 % 读取 Excel 文件,其中,ndata是一个矩阵,包含了Excel文件中的数值数据; % text是一个单元格数组,包含了Excel文件中的文本数据,alldata是一个单元格数组,包含了Excel文件中的所有数据(数值和文本); [ndata, text, alldata] = xlsread(filename); % 获取数据的行数和列数 [nrows, ncols] = size(ndata); % 取得第一列数据作为 x 轴 x = ndata(:, 1); % 取得第一行数据文本作为图例,从第2列到最后一列的文本作为曲线的图例。 legends = text(1, 2:end); % 绘制图像 figure; % 使用 lines(ncols-1) 函数生成一个包含 ncols-1 种颜色的颜色映射,然后在 plot 函数中使用 Color 参数指定曲线的颜色。 % 由于每条曲线都有自己的颜色映射,而且颜色映射是固定的,所以每次绘图时每条曲线的颜色都不同,但是每次绘图的曲线颜色也不会变化。 cmap = colormap(lines(ncols-1)); % 首先绘制左侧 y 轴图像; yyaxis left; plot(x, ndata(:, 2), '-o', 'Color', cmap(1, :)); ylabel(text(1, 2)); for i=2:ncols-2 hold on plot(x, ndata(:, i+1), '-o', 'Color', cmap(i, :)); end % 此处指定右侧y轴的数据列,需要特别指定! y_right = ndata(:, end); % 然后绘制右侧 y 轴图像,需要特别再次指定数据!颜色也用映射指定! yyaxis right; plot(x, y_right, '-o', 'Color', cmap(ncols-1, :)); ylabel(text(1, ncols)); legend(legends); xlabel(text(1, 1)); end
时间: 2024-03-12 15:45:08 浏览: 106
Python Matplotlib库plot函数画图 标签、颜色、线型、标题等控制
下面是修改后的代码,让每条曲线的线型、标记样式和颜色都不一样,但每次绘图都保持不变:
```matlab
function plot_excel_data2(filename)
% filename: Excel 文件名
% 读取 Excel 文件,其中,ndata是一个矩阵,包含了Excel文件中的数值数据;
% text是一个单元格数组,包含了Excel文件中的文本数据,alldata是一个单元格数组,包含了Excel文件中的所有数据(数值和文本);
[ndata, text, alldata] = xlsread(filename);
% 获取数据的行数和列数
[nrows, ncols] = size(ndata);
% 取得第一列数据作为 x 轴
x = ndata(:, 1);
% 取得第一行数据文本作为图例,从第2列到最后一列的文本作为曲线的图例。
legends = text(1, 2:end);
% 绘制图像
figure;
hold on;
% 每条曲线的线型、标记样式和颜色都不一样,但每次绘图都保持不变
for i = 1:ncols-1
plot(x, ndata(:, i+1), '-o', 'LineStyle', '--', 'Marker', '*', 'Color', [mod(i, 3)/3, mod(i, 5)/5, mod(i, 7)/7]);
end
hold off;
% 添加图例、轴标签和标题
legend(legends);
xlabel(text(1, 1));
ylabel('Data');
title('Multiple Lines with Different LineStyles, Markers and Colors');
% 设置'HandleVisibility'参数为'off',使得每次绘图都保持不变
set(gcf, 'HandleVisibility', 'off');
end
```
在这个修改后的代码中,我们使用了一个循环来绘制每条曲线,并为每条曲线指定了不同的线型、标记样式和颜色。我们还设置了'HandleVisibility'参数为'off',以确保每次绘图都保持不变。
阅读全文