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

如何解决Jupyter Notebook中plt.plot()输出图像重复出现的问题

问题原因

该重复出图问题仅出现在Jupyter Notebook/Lab、IPython这类带自动返回值输出的Python交互环境中,核心原因是:交互环境默认会自动打印输出所有未被变量接收的函数返回值。你自定义的绘图函数返回了Figure实例,调用时没有接收返回值的情况下,环境会先渲染plt.figure()创建的图像,再额外渲染一次返回的Figure对象,最终就出现了两张重复的图像。如果是直接运行Python脚本文件不会触发该问题。

解决方案

你可以根据使用场景任选以下任一方案解决,均不会影响你后续按需保存图像的需求:

  • 方案1:调用函数时用变量接收返回的Figure对象,既可以避免多余渲染,也方便后续调用保存接口
# 仅需修改调用部分代码即可
fig_sin = myplot1(t, x)
fig_cos = myplot1(t, y)

# 后续需要保存图像时直接调用对应实例的方法即可
# fig_sin.savefig("正弦曲线.png", dpi=300)
  • 方案2:如果暂时不需要保存图像,也不想定义额外变量,可以在调用语句末尾加英文分号,抑制交互环境的返回值自动输出
myplot1(t, x);
myplot1(t, y);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:45:03