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

MATLAB绘制透明线条:实现ERP波形重叠区域颜色加深

MATLAB实现ERP波形重叠区域密度自动加深绘图

需求说明

  • 基于现有代码绘制26名被试单通道ERP波形,X轴为时间、Y轴为平均振幅
  • 目标效果:单条波形默认显示浅灰色,多条波形重叠区域随重叠密度升高自动加深颜色

原有实现代码

times = Condition1.time;
channel = [1]; 

% 计算每个被试、每个通道、每个时间点的条件差值
diff = (grandaverages.Condition1.individual) - (grandaverages.Condition2.individual);
channeldiffwaves = squeeze( mean( diff(:,channels,:), 2 ) );

% 创建绘图画布
figure; hold on;

% 指定要绘制的被试序号范围
plotparticipantIdx = [1:26]; 

% 循环绘制每个被试的波形
for participantIdx = plotparticipantIdx
ptpdiffwave = channeldiffwaves( participantIdx, : );
plot( times, ptpdiffwave )
end

% 绘制零值基准轴
plot( times, zeros( size(times) ), 'k' )

原有效果参考

原有默认彩色线条绘图效果

实现方案

利用带透明度的线条叠加特性即可实现需求:给所有单条波形设置统一的浅灰色+低透明度,重叠区域会因为alpha通道自动叠加,线条越多颜色越深,无需额外计算像素密度,实现简单且效果符合ERP论文绘图规范。

修改点说明

  • 修正原代码变量名不一致bug:原代码定义channel = [1]但后续调用未定义的channels变量,统一变量名避免运行报错
  • 单条波形样式设置:浅灰色填充+15%-20%透明度,线条宽度设为1.5避免过粗导致密度区分度差
  • 零值基准线放在最后绘制,保证显示在最上层不被波形遮挡

修改后完整代码

times = Condition1.time;
channels = [1]; % 统一变量名,修复原代码变量名不匹配问题

% 计算两个条件的振幅差值
diff = grandaverages.Condition1.individual - grandaverages.Condition2.individual;
channeldiffwaves = squeeze( mean( diff(:,channels,:), 2 ) );

% 创建画布
figure; hold on;

% 待绘制的被试序号
plotparticipantIdx = 1:26; 

% 逐被试绘制波形
for participantIdx = plotparticipantIdx
    ptpdiffwave = channeldiffwaves( participantIdx, : );
    % 单条线设置:浅灰色+低透明度,重叠自动加深
    plot(times, ptpdiffwave, 'Color', [0.7 0.7 0.7 0.18], 'LineWidth', 1.5)
end

% 绘制黑色零值基准线
plot(times, zeros(size(times)), 'k', 'LineWidth', 1.2)

% 可选:添加坐标轴标签
xlabel('时间 (ms)')
ylabel('平均振幅 (\muV)')
hold off

版本兼容与参数调整

  • 若使用R2019b及更早MATLAB版本(不支持Color参数直接传入RGBA四元组),将循环内的plot语句替换为以下写法即可:
p = plot(times, ptpdiffwave, 'Color', [0.7 0.7 0.7], 'LineWidth', 1.5);
p.Color(4) = 0.18; % 单独设置线条透明度
  • 效果调整:
    • 调整[0.7 0.7 0.7]三个数值可以修改基础灰色深浅,数值越大颜色越浅(0为纯黑,1为纯白)
    • 调整透明度值(第四个参数0.18)可以修改叠加灵敏度:数值越小单条线越淡,需要更多线条重叠才能达到深灰色,20-30名被试推荐0.15-0.2,10-20名被试推荐0.2-0.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:30:51