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

使用Julia中db2小波绘制信号CWT热图出现空白问题求助

解决CWT结果绘制热图空白的问题

导致热图空白的常见原因及修复方案:

  • 未加载绘图依赖包:heatmap是Plots.jl提供的函数,代码中缺少using Plots导入语句,必须先加载才能调用。
  • 复数数组无法直接渲染:ContinuousWavelets的cwt返回复数类型的小波系数数组,热图函数无法识别复数,需要取系数的绝对值(模)、实部或虚部,常用abs.(res)获取幅值。
  • 维度顺序不匹配:cwt返回的数组形状为(尺度数, 时间采样数),默认绘制时x轴会对应尺度、y轴对应时间,和你的标签描述相反。需要转置数组abs.(res)',让x轴对应时间索引、y轴对应频率(尺度)索引。
  • 冗余参数写法:extraOctaves = -0可简化为extraOctaves = 0,语法合法但无必要。

修正后的完整代码

using ContinuousWavelets
using Plots  # 导入绘图包

# 假设signal是已定义的一维输入信号
c = wavelet(cDb2, β = 2, extraOctaves = 0)
res = ContinuousWavelets.cwt(signal, c)

# 取幅值并转置,匹配标签的轴对应关系
heatmap(abs.(res)', xlabel= "时间索引", ylabel="频率索引", colorbar=false)

额外排查点

  • 确认signal是否为有效非零数据:如果输入信号全为0,小波系数也会全为0,热图自然空白。可通过println(maximum(abs.(res)))检查幅值范围。
  • 调整颜色范围:若系数幅值差异极小,可手动设置颜色上下限,比如添加clim=(0, maximum(abs.(res)))参数强制显示颜色梯度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:33:32