matplotlib 绘图在谷歌 colab 中不起作用

Posted

技术标签:

【中文标题】matplotlib 绘图在谷歌 colab 中不起作用【英文标题】:matplotlib plotting is not working in google colab 【发布时间】:2021-01-01 05:24:43 【问题描述】:

我想在 colab 中使用 matplotlib,但它没有用。正如this 链接所说,我尝试了%matplotlib inline%matplotlib notebook,但它们都没有工作。但是我能问一下为什么this link 的情节运作良好吗?似乎它只是使用带有%matplotlib inline 的普通matplotlib。我想知道区别。

【问题讨论】:

【参考方案1】:

根据colab docs:

在 IPython 笔记本中,您还可以选择直接在笔记本中嵌入图形,有两种可能的选择:

%matplotlib notebook 将导致嵌入笔记本中的交互式绘图。

%matplotlib inline 将导致您的绘图的静态图像嵌入到笔记本中。

【讨论】:

我写了一些更详细的问题。请再读一遍。【参考方案2】:

从 IPython 笔记本绘图

IPython notebook 是一个基于浏览器的交互式数据分析工具,可以将叙述、代码、图形、html 元素等组合到一个可执行文档中。

可以使用 %matplotlib 命令在 IPython 笔记本中进行交互式绘图,其工作方式与 IPython shell 类似。在 IPython 笔记本中,您还可以选择直接在笔记本中嵌入图形,有两种可能的选择:

%matplotlib notebook 将导致嵌入笔记本中的交互式绘图

%matplotlib inline 将导致您的情节的静态图像嵌入到笔记本中

【讨论】:

我都试过了,但都没有用。尽管如此,我的问题是为什么 this link 的绘图工作正常。【参考方案3】:

我遇到了与原作者类似的问题——无论我尝试什么,我都无法在笔记本中显示绘图,即使绘图在其他笔记本中显示得很好。我发现这非常令人惊讶。

我在原笔记本和全新笔记本上添加了一个非常简单的测试图,这个简单的图在原笔记本的出厂重置环境中没有出现,而在新笔记本中渲染没有问题:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])
plt.show()

出厂重置运行时、重新启动浏览器和重新启动计算机在多天的过程中对此问题没有影响。

最后,我发现用笔记本关闭浏览器选项卡,打开一个新选项卡并浏览到 colab,然后从文件列表中选择我的笔记本解决了问题。这是在 Ubuntu 20.04 上运行的 Firefox 中。

【讨论】:

【参考方案4】:

我在 github 的一些问题中看到了这个解决方案,这解决了我的问题:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

https://github.com/jupyter/notebook/issues/3523

【讨论】:

以上是关于matplotlib 绘图在谷歌 colab 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在谷歌colab中使用TPU

如何在谷歌colab中安装web3

如何使用 colab 在谷歌驱动器上保存 np.array?

如何在谷歌 colab 上恢复到默认的 tensorflow 版本

CancelledError:[_Derived_]RecvAsync 已取消。在谷歌 colab 上运行

Tesseract 4.1.1 错误 eng.traineddata 在谷歌 colab 中找不到