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

R语言小波相干分析绘图报错:curve函数'expr'长度不符

R语言小波相干绘图报错解决建议

你运行的小波相干绘图代码:

plot(wtc.AB, plot.phase = TRUE, lty.coi=1, col.coi="grey", lwd.coi=2, lwd.sig=2, arrow.lwd=0.03, arrow.len=0.12, ylab="Scale", xlab="Years", plot.cb=TRUE, main="Wavelet Coherence: SP500 vs Uganda Sov Bond", xaxt="n")

出现错误:

Error in curve(expr = x, from = from, to = to, xlim = xlim, ylab = ylab, : 'expr' did not evaluate to an object of length 'n'

以下是排查和解决方向:

  • 验证wtc.AB对象合法性:确认它是biwavelet包中waveletCoherence函数生成的有效结果,执行str(wtc.AB)查看结构,检查是否存在数据缺失、维度不匹配等异常。
  • 先移除xaxt="n"参数测试:该参数用于隐藏默认x轴,可能与绘图函数内部的x轴生成逻辑冲突。先运行不带此参数的代码,确认基础绘图功能正常:
    plot(wtc.AB, plot.phase = TRUE, lty.coi=1, col.coi="grey", lwd.coi=2, lwd.sig=2, arrow.lwd=0.03, arrow.len=0.12, ylab="Scale", xlab="Years", plot.cb=TRUE, main="Wavelet Coherence: SP500 vs Uganda Sov Bond")
    
  • 检查时间序列数据:查看wtc.AB$t对应的时间轴数据,确保其长度与分析数据一致,且为可识别的数值或日期类型。若时间序列格式异常,会导致x轴绘制失败。
  • 更新biwavelet包:旧版本包可能存在绘图参数的兼容性问题,执行update.packages("biwavelet")更新后重试代码。
  • 手动自定义x轴:若必须隐藏默认x轴并自定义,可先正常绘图,再用axis()函数手动添加刻度:
    # 先绘制基础图,不隐藏x轴
    plot(wtc.AB, plot.phase = TRUE, lty.coi=1, col.coi="grey", lwd.coi=2, lwd.sig=2, arrow.lwd=0.03, arrow.len=0.12, ylab="Scale", xlab="Years", plot.cb=TRUE, main="Wavelet Coherence: SP500 vs Uganda Sov Bond")
    # 示例:按需求设置x轴刻度和标签
    axis(1, at = seq(1, length(wtc.AB$t), by = 5), labels = wtc.AB$t[seq(1, length(wtc.AB$t), by = 5)])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:35:15