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

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

谢谢!

#1楼 票数:83 已采纳

类型

%matplotlib qt

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

%matplotlib inline

当你想要一个内联图时

#2楼 票数:47

转到工具>>首选项>>IPython控制台>>图形>>后端:内联,将“内联”更改为“自动”,单击“确定”

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

#3楼 票数:36

魔法命令,例如

%matplotlib qt  

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

在这种情况下,导入后:

from IPython import get_ipython

用:

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

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

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

用于在外部窗口中绘图。

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

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

#4楼 票数:0

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

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

(使用 Spyder 4.2.2 测试。)

  ask by pyan translate from so

未解决问题?本站智能推荐:

2回复

Matplotlib冻结当Spyder中使用input()时

Windows 7.如果我在命令行打开一个普通的ipython终端,我可以输入: 但是如果我在Spyder中做同样的事情,一旦我要求用户输入,Matplotlib窗口会冻结,所以我无法与它进行交互。 当提示显示时,我需要与情节互动。 在Spyder和普通控制台中,matplotl
1回复

使用多个单独的 plt.plot 在 Spyder 中内联数字

我发现 Spyder 4 中的图形查看器非常方便比较同类数据,例如,如果分析的方式很明确并且只是比较数据。 尽管如此,为了尝试,真的很不舒服,Spyder 总是为 plt.plot 的每一行打开一个新图形。 我现在拥有的是以下内容: 运行这个给我一个很好的图,有 3 行数据 以防万一,我现在
1回复

如何在Spyder中的所有其他窗口的顶部显示matplotlib图形窗口

我正在使用Spyder IDE,我发现matplotlib图形窗口总是显示在其他窗口后面。 例如,在启动Spyder之后,如果我在控制台中键入plt.plot([0,1],[0,1]) ,我会在主Spyder窗口后面得到一个图。 如何在所有其他窗口的顶部显示新的图形窗口? 我找到了这个
1回复

Spyder不会内联数字

我以某种方式搞砸了我的Spyder配置,并且不再显示内联图(在IPython控制台中)。 我按照这里描述的步骤操作: Spyder剧情内联 但我不想重置我的配置以使其工作。 还有另外一种方法吗? 我试了很多但是无法理解。
4回复

在Spyder中,使用Matplotlib和交互式缩放等进行绘图

我最近从“有思想的檐篷”切换到“蟒蛇”,并且正在使用Spyder IDE。 我注意到当我绘制一些数据时, 它在IPython控制台中显示为嵌入式图形: 但是,在Enthought中,该图通常会在具有缩放,后退和前进按钮的单独窗口中显示。 有什么方法可以在Spyder中实现
3回复

在 Spyder(或任何其他调试器)的 ipdb 调试器中,如何强制 Matplotlib 进行绘制?

编辑 不幸的是,目前这是不可能的。 我发现这是Spyder 中的一个错误。 开发人员仍在想办法解决这个问题。 目标 在调试代码时可视化数据(我也想使用 Spyder!)。 尝试 #1:从 Spyder 的 IPython 运行 foo.bar 使用以下代码创建一个名为 foo.py 的文
1回复

Spyder IDE 不使用 Matplotlib 显示内联图

我似乎无法让 spyder/matplotlib 显示内联图。 数据框是一个简单的数据框,带有一个索引、一个分类变量列和一个数值变量列。 我想显示的图只是一个降序的简单条形图。 代码: 错误: 我尝试了各种不同的故障排除方法,但似乎都没有奏效。 我已经多次切换并更改了 spyder 中的内
1回复

在 matplotlib 中使用连字

有没有办法让 matplotlib(在 Spyder 或其他方式中)支持连字? 我的最终目标是创建 mpl 样式表,因此在从一个作品切换到另一个作品时我不需要不断更新 rcParams(例如,想要为海报使用显示加权的无衬线字体,但想要为海报使用标题加权的衬线字体)纸)。 MWE: 这是所产