【问题标题】:Plot inline or a separate window using Matplotlib in Spyder IDE在 Spyder IDE 中使用 Matplotlib 绘制内联或单独的窗口
【发布时间】:2015-06-04 01:29:40
【问题描述】:

当我使用 Matplotlib 绘制一些图形时,默认的内联绘图通常很好。但是,当我绘制一些 3D 图形时,我希望将它们放在单独的窗口中,以便可以启用旋转等交互。我可以在 Python 代码中配置要内联显示的图形以及要在新窗口中显示的图形吗?

我知道在 Spyder 中,单击工具、首选项、Ipython 控制台、图形并在图形后端下选择“自动”而不是“内联”。但是,这会使所有数字都在新窗口中。当我有很多情节时,它可能会很混乱。所以我只希望那些 3D 绘图在新窗口中,但所有其他 2D 绘图保持内联。有可能吗?

谢谢!

【问题讨论】:

    标签: python matplotlib spyder


    【解决方案1】:

    类型

    %matplotlib qt
    

    当您想要在单独的窗口中显示图表时

    %matplotlib inline
    

    当你想要一个内联图时

    【讨论】:

    • 是否有一个选项可以在新的打开窗口或控制台中显示绘图,例如在 Rstudio 中的单独窗口中?例如。当绘制 10 个图时,有 10 个打开的窗口而且一直滚动浏览整个控制台是很烦人的。因此,我希望可以将它们寻址到某个窗口,但我不知道如何..?
    • 我应该在 Python Spyder 的哪里输入?
    【解决方案2】:

    转到 Tools >> Preferences >> IPython console >> Graphics >> Backend:Inline,将“Inline”改为“Automatic”,点击“OK”

    在控制台重置内核,绘图将出现在单独的窗口中

    【讨论】:

    • 你知道是否可以在某个 spyderrc 配置文件中设置这个选项吗?
    • 编辑,我找到了:/home/user/.config/spyder-py3/spyder.ini 它应该包含 pylab/backend = 1 我认为
    【解决方案3】:

    魔术命令如

    %matplotlib qt  
    

    在 iPython 控制台和 Notebook 中工作,但不在脚本中工作。

    在这种情况下,导入后:

    from IPython import get_ipython
    

    使用:

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

    用于以下代码的内联绘图,以及

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

    用于在外部窗口中绘图。

    编辑:上述解决方案并不总是有效,具体取决于您的操作系统/Spyder 版本 Anaconda issue on GitHub。将图形后端设置为自动(如另一个答案所示:工具>>首选项>> IPython控制台>>图形->自动)为我解决了这个问题。

    然后,在重新启动控制台后,可以使用 get_ipython() 命令在内联和外部绘图窗口之间切换,而无需重新启动控制台。

    【讨论】:

    • +1 在 Ubuntu 下并在 firefox 下运行 Jupyter / IPython,最后一行 get_ipython().run_line_magic('matplotlib', 'qt') 是打开带有 matplotlib-plot 的交互式窗口所必需的!
    • 也适用于 vscode python 交互式窗口,其中魔法命令并不总是有效
    【解决方案4】:

    我已在 Spyder 首选项中将 IPython 控制台后端设置为 Automatic

    在我的脚本中,我现在可以使用 switch_backend 作为 plt.switch_backend('module://ipykernel.pylab.backend_inline')plt.switch_backend('Qt5Agg') 在每个新情节之前,使其成为内联或独立/交互式。

    (使用 Spyder 4.2.2 测试。)

    【讨论】:

      【解决方案5】:

      如果您只想查看 1 或 2 个图表,您也可以尝试在绘图窗口中手动取消停靠它们。所以在右上角的窗口

      1. 选择“绘图”选项卡
      2. 单击带有 3 个水平条的按钮
      3. 选择“取消停靠”

      它将在新窗口中打开绘图。当您关闭窗口时,它会停靠回来。

      【讨论】:

        猜你喜欢
        • 2020-10-22
        • 2019-07-17
        • 2016-02-24
        • 2020-08-22
        • 1970-01-01
        • 2016-09-28
        • 2013-03-20
        • 2014-07-23
        • 2020-07-28
        相关资源
        最近更新 更多