【问题标题】:How to plot during debugger-mode of VSCode如何在 VSCode 的调试器模式下绘图
【发布时间】:2022-01-12 06:25:54
【问题描述】:

如何在 调试 模式下使用 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>

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

我按预期得到了这个

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

【问题讨论】:

  • 如果您定义自己的辅助方法并以这种方式调用它会发生什么?我怀疑调试控制台的工作方式干扰了底层启动绘图的调用,因为它直接将其从 Python 中拉出,而不是让 Python 本身运行。
  • 抱歉我的回复晚了。我使用我们自己的可视化库尝试了它,使用 javabridge-package 并调用外部 java-visualization 接口,它就像一个魅力。现在以某种方式尝试: plt.imshow(my_image); plt.show() 现在可以工作了,我可以在 VSCode 的调试环境中访问绘图功能。好的。也感谢您的建议。 :)
  • 你用的是什么版本的plt,plt.imshow(my_image); plt.show() 没有为我显示任何内容...

标签: python visual-studio-code visualization


【解决方案1】:

我遇到了同样的问题,我发现 here 如果你使用 plt.pause(1),情节就会出现

【讨论】:

    【解决方案2】:

    为了在 vs 代码调试器中绘图,我尝试使用 plt.imshow(img);plt.show() 但它没有显示任何图像。

    plt.show(plt.imshow(img)) 这给出了错误,因为它只需要一个参数。

    【讨论】:

    • 非常低质量的答案
    【解决方案3】:

    您可以在要查看图像的位置添加断点,使用调试控制台将图像保存到磁盘并手动打开:

    plt.savefig('test.png')
    

    【讨论】:

      【解决方案4】:

      我发现你可以添加

      plt.show(plt.imshow(a))

      【讨论】:

      • 嗨,谢谢你的回答,但我已经在7月29日自己回答了(评论)。但是我怎样才能将其标记为足够的答案呢?我必须再次回复我自己的帖子吗?
      • 啊,我没看评论。不,可以重新标记。谢谢你:)
      • get me this error ib/pyplot.py", line 353, in show return _backend_mod.show(*args, **kwargs) TypeError: show() 需要 1 个位置参数,但给出了 2 个
      猜你喜欢
      • 2020-04-06
      • 2020-05-02
      • 2018-01-13
      • 2021-04-09
      • 2017-02-06
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多