如何在 VSCode 调试器模式下绘图

Ren*_*neL 16 python visualization visual-studio-code

如何在调试模式下使用 Visual Studio Code (VSCode) 进行绘图。在调试控制台中使用以下代码只会给我对象地址,但不会提供输出。对于例如 plt.plot(a) 也是如此。

import numpy as np
import matplotlib.pyplot as plt
a = np.random.randn(64,64)*20+100
plt.imshow(a)
>> <matplotlib.image.AxesImage object at 0x000002CFEEC37F28>
Run Code Online (Sandbox Code Playgroud)

如果我在 VSCode-python Interactive-shell 中尝试相同的代码(使用 jupyter 服务)

我得到了预期的结果

后来我的目标是能够在调试模式下调用任何可视化库(例如封装的 java 库),因为它允许我实时检查处理的数据的运行情况。

yel*_*w01 10

使用plt.show()plt.pause(1)将在新窗口中打开绘图。

然而,就我而言,当我通过 VS Code 远程开发扩展包(例如 SSH、WSL、Docker 等)进行调试时,我必须依赖 VS Code Jupyter 交互窗口来渲染 matplotlib 图形。

解决方案

在解决方案代码库的入口脚本(例如main.py)中,从命令选项板在交互式窗口 ( ) 中启动调试会话> Jupyter: Debug Current File in Interactive Window,或者按照我的喜好,#%%在第一行添加并单击Debug Cell

在此输入图像描述

现在,您可以在 VS Code 调试会话期间以交互方式渲染绘图(通过调试控制台而不是交互式窗口),无论是本地还是远程

在此输入图像描述

GitHub 上有关于这个的讨论

https://github.com/microsoft/vscode-jupyter/issues/1278


小智 -3

我发现你可以添加

plt.show(plt.imshow(a))

  • 给我这个错误 ib/pyplot.py",第 353 行,显示 return _backend_mod.show(*args, **kwargs) TypeError: show() 需要 1 个位置参数,但给出了 2 个 (2认同)