VSCode中Jupyter Notebook绘图异常:重复显示/无显示问题求助
问题原因与修复方案
核心原因
VSCode的Jupyter扩展和本地Jupyter Notebook的绘图渲染机制存在差异:VSCode默认会自动渲染plot()生成的图像对象,若手动调用plt.show(),会触发对当前所有缓存绘图对象的二次渲染,从而出现重复图;而单独执行ret_test.plot()无显示,大概率是VSCode的自动渲染配置被关闭。
具体修复步骤
调整VSCode绘图渲染设置
按Ctrl+,打开设置,搜索Jupyter: Plot Rendering,将其设为notebook或inline。此后执行ret_test.plot()时会自动渲染图像,无需额外调用plt.show()。清除绘图缓存避免重复
若代码中存在重复执行ret_test.plot()的情况(比如单元格多次运行、循环内调用),会累积绘图对象。可在绘图前清空画布:import matplotlib.pyplot as plt plt.clf() # 清空当前画布的所有绘图对象 ret_test.plot()指定matplotlib inline模式
若习惯使用plt.show(),可在代码开头添加魔法命令强制使用内嵌渲染:%matplotlib inline ret_test.plot() plt.show()此模式下
plot()生成的图像会直接嵌入输出,plt.show()不会触发重复渲染。重置Jupyter内核
若以上方法无效,点击VSCode右上角的内核状态,选择"Restart Kernel",清除之前累积的绘图缓存后重新运行代码。
内容的提问来源于stack exchange,提问作者Casiopea
相关产品推荐
相关产品推荐

