2

我知道我在这里打败了一匹死马,但我根本无法让 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.pyAttributeError则不会产生任何结果%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/

完整的 AttributeError 堆栈跟踪

4

0 回答 0