当我使用Matplotlib绘制一些图形时,它通常适用于默认的内联绘图。然而,当我绘制一些3D图形时,我希望将它们放在一个单独的窗口中,这样就可以启用旋转等交互功能。我可以在Python代码中配置内联显示哪个图形,以及在新窗口中显示哪个图形吗?
我知道在Spyder中,点击Tools,Preferences,Ipython Console,Graphics,然后在Graphics Backend下选择“automatic”而不是“inline”。然而,这使得所有的图形都出现在新窗口中。当我有很多情节时,它可能会变得混乱。因此,我只希望在新窗口中显示这些3D图,但所有其他2D图都保持内联。这是完全可能的吗?
谢谢!
发布于 2016-04-18 07:10:33
类型
%matplotlib qt
当您希望在单独的窗口中显示图形时,
%matplotlib inline
当您想要内嵌图时
发布于 2017-10-07 10:59:09
进入Tools >> Preferences >> IPython console >> Graphics >> Backend:Inline,将"Inline“更改为"Automatic",单击"OK”
在控制台重置内核,绘图将出现在单独的窗口中
发布于 2017-09-22 16:46:30
神奇的命令,如
%matplotlib qt
可以在iPython控制台和笔记本中工作,但不能在脚本中工作。
在这种情况下,在导入后:
from IPython import get_ipython
使用:
get_ipython().run_line_magic('matplotlib', 'inline')
用于以下代码的内联绘制,以及
get_ipython().run_line_magic('matplotlib', 'qt')
用于在外部窗口中打印。
编辑:上面的解决方案并不总是有效,这取决于您的操作系统/Spyder版本Anaconda issue on GitHub。将图形后端设置为Automatic (如另一个答案所示: Tools >> Preferences >> IPython console >> Graphics --> Automatic)为我解决了这个问题。
然后,在控制台重新启动后,用户可以使用get_ipython()命令在内联和外部绘图窗口之间切换,而不必重新启动控制台。
https://stackoverflow.com/questions/29356269
复制相似问题