【问题标题】:Matplotlib plots not showing in VS CodeMatplotlib 绘图未在 VS Code 中显示
【发布时间】:2021-05-13 06:12:23
【问题描述】:

我正在运行 Windows 10,当我运行使用 matplotlib.pyplot 创建绘图的脚本时,如果我在 vscode 的嵌入式终端(bash 或 powershell)中运行,则不会创建绘图。但是,图形窗口显示在我的任务栏中,但我无法打开它。

当我在 jupyter 中运行脚本时,我仍然得到一个情节。当我在“终端”应用程序中运行脚本时,我也会得到一个绘图窗口。所以,我认为这个问题与vscode有关。

我使用的代码真的很简单:

import matplotlib.pyplot as plt

x = [1, 1]
plt.plot(x)
plt.show()

【问题讨论】:

  • 你能提供一个 MWE 来显示你描述的行为吗?
  • @David Zanger - 当我使用“matplotlib.pyplot”在 VS Code 中绘制图表时,它会弹出图表。您能否向我们提供最小化和重现此问题的测试代码?是否使用了“settings.json”中的相关设置?
  • 我通过将 conda 中的 python 版本从 3.8.5 降级到 3.7.9 解决了这个问题。但是,这不应该是解决方案。
  • @JillCheng 相关设置是什么?
  • @David Zanger -比如你是否设置了VS Code终端的使用以及某些扩展的使用可能会影响。

标签: python matplotlib visual-studio-code


【解决方案1】:

pip install ipympl 为我工作。

这篇文章帮助我找到了这个解决方案:https://github.com/matplotlib/ipympl/issues/132

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

在 Visual Studio Code Jupyter Notebooks 中,您可能会看到如下内容:

为了显示情节,您可以点击

>

符号向左,并将 mime 类型更改为 image/png(Jupyter 渲染器)。
现在情节出现了。

【讨论】:

    【解决方案3】:

    在集成终端中运行时,只有当我将 plt.show(block=True) 放在 python 文件的末尾时,我才能得到所有生成的图片。如果省略此语句或使用 plt.show(block=False) ,我将一无所获。顺便说一下 plt.show(block=True) 是默认的。

    【讨论】:

      【解决方案4】:

      当您在脚本中绘制图形时,请确保使用以下命令输出显示图形的窗口。

      plt.show()
      

      默认情况下,Jupyter 会输出图形,即使 plt.show() 没有被显式调用。

      【讨论】:

      • 我已经在使用 plt.show() 但它仍然不起作用。它只是创建窗口但没有情节。我也打不开窗口,就在任务栏里。
      【解决方案5】:

      也许您可以尝试将输出 Mimetype 更改为带有图像选项的一种。对于该单元格,它必须是纯文本/文本。您可以从它们的选项中为不同的单元格更改它。

      【讨论】:

        【解决方案6】:

        试试最新版的matplotlib

        pip install matplotlib --upgrade
        

        这对我很有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-06-05
          • 1970-01-01
          • 1970-01-01
          • 2015-12-01
          • 1970-01-01
          • 2020-07-24
          • 2020-09-22
          • 2016-06-07
          相关资源
          最近更新 更多