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

使用wfdb包绘制ECG信号后无法保存输出为图片的问题求助

解决WFDB绘制ECG后保存图片为空的问题

你的问题核心在于:你新建了一个空白画布来保存,而非使用WFDB已经绘制好的ECG图。让我给你两个简单可行的解决方案:

方案1:直接获取WFDB绘图返回的Figure对象

wfdb.plot_wfdb支持通过return_fig=True参数返回它生成的绘图对象,这样就能直接保存正确的ECG信号图了:

record = wfdb.rdrecord('ptb/records100/00000/00001_lr')
# 启用return_fig参数,获取生成的fig和ax对象
fig, ax = wfdb.plot_wfdb(record=record, title='ECG', figsize=(20,20), return_fig=True)
# 保存包含ECG信号的fig
fig.savefig('test.png', dpi=100)

方案2:获取当前已绘制的Figure

如果你不想修改plot_wfdb的调用逻辑,也可以用plt.gcf()(Get Current Figure)获取WFDB已经画好的图,而不是创建新的空白画布:

record = wfdb.rdrecord('ptb/records100/00000/00001_lr')
wfdb.plot_wfdb(record=record, title='ECG', figsize=(20,20))
# 获取当前的绘图对象,而非新建空白图
fig1 = plt.gcf()
fig1.savefig('test.png', dpi=100)

小补充

如果保存后仍有异常,可以尝试在保存前加上plt.show(block=False)(避免程序被绘图窗口阻塞),或者确认代码里没有提前关闭绘图窗口的操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 04:47:32