pya*_*yan 39 python matplotlib spyder
当我使用Matplotlib绘制一些图形时,它通常适用于默认的内联绘图.但是,当我绘制一些3D图形时,我希望将它们放在一个单独的窗口中,以便可以启用像旋转这样的交互.我可以在Python代码中配置哪些图形显示内联以及哪一个显示在新窗口中?
我知道在Spyder中,单击工具,首选项,Ipython控制台,图形,然后在图形后端下选择"自动"而不是"内联".但是,这使得所有数字都在新窗口中.当我有很多情节时,它可能会很混乱.所以我只希望那些3D绘图在新窗口中,但所有其他2D绘图都保持内联.有可能吗?
谢谢!
Ste*_*ele 44
类型
%matplotlib qt
Run Code Online (Sandbox Code Playgroud)
当你想在一个单独的窗口中的图形和
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)
当你想要一个内联图
Don*_*sto 15
魔术命令如
%matplotlib qt
Run Code Online (Sandbox Code Playgroud)
在iPython控制台和Notebook中工作,但在脚本中不起作用.
在这种情况下,导入后:
from IPython import get_ipython
Run Code Online (Sandbox Code Playgroud)
使用:
get_ipython().run_line_magic('matplotlib', 'inline')
Run Code Online (Sandbox Code Playgroud)
用于内联绘制以下代码,以及
get_ipython().run_line_magic('matplotlib', 'qt')
Run Code Online (Sandbox Code Playgroud)
用于在外部窗口中绘图.
编辑:上面的解决方案并不总是有效,具体取决于您在GitHub上的OS/Spyder版本 Anaconda问题.将图形后端设置为自动(如另一个答案中所示:工具>>首选项>> IPython控制台>>图形 - >自动)为我解决了这个问题.
然后,在控制台重新启动后,可以使用get_ipython()命令在内联和外部绘图窗口之间切换,而无需重新启动控制台.