首页 > 解决方案 > vscode Python交互中的交互模式

问题描述

我正在尝试在 vscode 中的 Python Interactive 中以交互模式打开任何 matplotlib 图表(Windows)

我尝试使用魔法

%matplotlib qt 

有时它可以工作,但是,很多时候,它只是“闪烁”(打开图表窗口并立即关闭它,我不知道为什么)并在 Python Interactive 中显示图表

我试过plt.ion()了,但似乎并没有改变任何东西。

在交互模式下打开图表的正确方法是什么?

标签: pythonmatplotlibvisual-studio-code

解决方案


如果要在单独的窗口中显示绘图,则可能需要设置后端。此外,您选择的后端可能与您的设置不兼容,因此请尝试一些。

In [4]: plt.switch_backend('QtAgg4')

如果您确实想内联显示绘图,则无需执行任何操作。默认情况下,VS Code 将显示内联图。您不需要 %matplotlib inline 或 plt.show()。如果您确实想要内联绘图并且它不起作用,请尝试:

get_ipython().run_line_magic('matplotlib', 'inline')

当您通过导入将 jupyter notebook 转换为 VS Code 时,就会出现这种情况。

    import numpy as np
    import matplotlib.pyplot as plt

    x = np.arange(0,100)
    y = x*2

    # Functional Method
    fig = plt.figure()
    ax = fig.add_axes([0, 0, 1, 1])
    ax.plot(x, y)
    ax.set_title('title')
    ax.set_xlabel('X')
    ax.set_ylabel('Y')

我的代码,在交互式窗口中的我的 VS 代码上进行了测试,情节显示为内联。


截至 2019 年 11 月的更新答案:最近对 VS Code
的更新 解决了这个问题。确保安装所有 Jupyter Notebook 扩展。此外,您现在可以右键单击 .ipynb 文件并选择“Open-With VS Code”。这将自动在 2 个窗口中打开文件,左侧为 raw-json-code,右侧为 interactive-jupyter-notebook。光滑。真的很喜欢这个 VS Code 的新更新。


推荐阅读