我知道我在这里打败了一匹死马,但我根本无法让 matplotlib 图显示在 Jupyterlab 笔记本中。
我正在尝试运行一个最终在 jupyter 单元格内绘制的 python 脚本。
我尝试过的事情:
- 我取得的最大成功是使用了
%run
魔法命令:%run pythonscript.py
. 然后这引发了一个错误,但仍然能够在它之后显示一个图:
/opt/conda/lib/python3.9/site-packages/IPython/core/pylabtools.py in
mpl_execfile(fname, *where, **kw)
187 matplotlib.interactive(is_interactive)
188 # make rendering call now, if the user tried to do it
--> 189 if plt.draw_if_interactive.called:
190 plt.draw()
191 plt.draw_if_interactive.called = False
AttributeError: 'function' object has no attribute 'called'
然而,这是短暂的,因为它只是在内核重新启动后显示错误而没有情节。
%matplotlib inline
!python/!python3 pythonscript.py
没有错误。连 `[[Figure 2D....]] 都没有%matplotlib notebook
!python/!python3 pythonscript.py
没有错误。连 `[[Figure 2D....]] 都没有没有
%matplotlib
魔法命令。没有错误。连 `[[Figure 2D....]] 都没有%run pythonscript.py
. 我们得到AttributeError
如上图所示。%pylab inline
如果与 耦合,则不会产生任何结果,而如果与!python pythonscript.py
,AttributeError
则不会产生任何结果%run
。%matplotlib inline
%run pythonscript.py
. 我们得到AttributeError
如上图所示。
在运行魔术命令时尝试了解有关属性错误的更多信息会产生死胡同。
点子列表:
ipympl 0.7.0
ipython 7.27.0
jupyterlab 3.1.10
ipykernel 6.4.1
ipywidgets 7.6.4
jupyterlab-widgets 1.0.1
matplotlib 3.2.2
prompt-toolkit 3.0.20
在这一点上,我想我已经用尽了大部分资源。任何意见,将不胜感激。
编辑:请求截图和代码说明:
该代码基于 BackTrader,一个回测库。进行绘图的代码行是cerebro.plot()
. 文档:https ://www.backtrader.com/docu/plotting/plotting/