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

如何修改scipy.signal.welch输出结果绘制图像的颜色

问题原因

  • scipy.signal.welch 是纯数值计算函数,仅返回频率和功率谱密度的计算结果,不涉及绘图逻辑,给它传入color参数不会生效。
  • 你在set_title后执行的ax[0].plot(color='coral')没有传入x、y坐标数据,仅会生成一条无数据的空曲线,不会修改已有曲线的颜色。

解决方法

颜色参数需要传给实际负责绘图的matplotlib方法,也就是你的代码里的ax[0].semilogy(),直接在该方法中添加color参数即可,修改后的代码如下:

import librosa.display
import matplotlib.pyplot as plt
import numpy as np
from scipy import signal

filename = "sample.wav"

y, sr = librosa.load(filename)

fig, ax = plt.subplots(nrows=2, ncols=1, sharex=True)

f, Pxx_den = signal.welch(y, sr, nperseg=1024)
# 仅修改本行,添加color参数
ax[0].semilogy(f, Pxx_den, color='coral')
ax[0].set_xlabel('Hz')
ax[0].set_ylabel('Power')
ax[0].set_title('Power Spectral Density')

如果需要调整线宽、线型等其他绘图样式,也都是将对应参数传入semilogy方法即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:39:03