我希望能够在内联显示 matplotlib 图形或在脚本文件中使用 QT 后端之间切换,基于一个名为 inlinemode 的变量,例如下面的代码片段
import matplotlib.pylab as plt
inlinemode = False
if inlinemode:
print "plot will be inline..."
else:
print "plot will be qt..."
plt.switch_backend('qt4agg')
plt.figure()
plt.plot(range(10))
Run Code Online (Sandbox Code Playgroud)
我的 IPython 控制台默认以内联模式启动,并且执行上面的代码片段仍然会生成内联图而不是 qt 窗口。如果可以在 if 块中发送 IPython magic %matplotlib inline -or- %matplotlib qt,这将完成此任务。但是,根据我所收集到的信息,不可能从脚本文件中发送这些魔法。
任何建议将不胜感激!
(仅供参考:我在 Windows 10 上的 Anaconda Python 2.7 中从 Spyder 运行)