You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为多数据文件的同一变量设置不同绘图标记与线型?

解决Matlab绘图自定义标记与线型的问题

修改后的完整代码

ax = gca;
grid on;
hold on;

% 配置线型和标记的循环顺序
ax.LineStyleOrder = {'-o', '-+', '-*', '-x', '-s', '-d', '-v', '->'};
% 自定义颜色顺序
ax.ColorOrder = [1 0 0; 1 0 1; 0 1 0; 0.4660 0.6740 0.1880; 0 0 1; 0.3010 0.7450 0.9330; 0.8500 0.3250 0.0980; 0.9290 0.6940 0.1250];
% 设置自动循环使用样式
ax.NextPlot = 'add';

% 循环绘制8组Excel数据(替换为你实际的读取逻辑)
for i = 1:8
    % 示例:读取当前文件的输入输出功率数据
    % Pin_dBm = readmatrix(your_file_list(i));
    % Pout_Meas_dbm = ...;
    plot(Pin_dBm, Pout_Meas_dbm, "LineWidth", 2);
end

ylabel('输出功率 [dBm]','Color','K')
xlabel('输入功率 [dBm]')
title('输出功率对比 - 开启模式 (0V)', 'Color', 'k')
legend('3F50Sa1','3F100Sa1', '5F50Sa1','5F100Sa1','7F50Sa1','7F100Sa1','9F50Sa1','9F100Sa1','location', 'bestoutside')
hold off;

关键修改说明

  • 启用样式循环:取消原代码中ax.LineStyleOrder的注释,定义8组与数据系列数匹配的线型+标记组合。
  • 自动分配样式:添加ax.NextPlot = 'add',让Matlab每次调用plot时,自动按顺序从LineStyleOrder和ColorOrder中取对应样式,无需手动指定。
  • 分系列绘图:原代码仅调用一次plot,需改为每个Excel文件对应一次plot调用(或直接使用多列矩阵绘图),确保每个数据系列单独分配样式。如果你的Pout_Meas_dbm是8列矩阵,直接调用plot(Pin_dBm, Pout_Meas_dbm, "LineWidth",2)即可,Matlab会自动按列分系列应用样式。

内容的提问来源于stack exchange,提问作者ARAZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:24:14