Matplotlib 和 Google Colab:使用 ipympl

Posted

技术标签:

【中文标题】Matplotlib 和 Google Colab:使用 ipympl【英文标题】:Matplotlib and Google Colab: Using ipympl 【发布时间】:2020-03-09 17:35:26 【问题描述】:

每当我尝试使用 matplotlib 在 Google Colab 笔记本中绘制图形时,每当我使用 %matplotlib inline 时都会显示一个绘图,但在我使用 %matplotlib ipympl%matplotlib widget 时不会显示。我该如何解决这个问题。我的目标是让情节具有互动性。

澄清:当我运行%matplotlib --list 时,我得到以下输出

Available matplotlib backends: ['tk', 'gtk', 'gtk3', 'wx', 'qt4', 'qt5', 'qt', 'osx', 'nbagg', 'notebook', 'agg', 'inline', 'ipympl', 'widget']

感谢您的帮助!

【问题讨论】:

另外,我看过这个帖子:***.com/questions/52859983/…。这里的解决方案都不适合我。 你有任何迹象表明 google colab 实际上支持这个jupyter-matplotlib 后端吗?我认为情况并非如此,因为它是在考虑 jupyter 的情况下明确编写的。 是的,我在上面澄清了 哦,colab 没有更改该列表。另见github.com/matplotlib/matplotlib/issues/15161。我的意思是你可以随时在 colab 询问他们是否计划很快支持这个。 【参考方案1】:

面对同样的问题,我无法让 ipympl 与 Colab 合作。但是,由于您提到“我的目标是让情节具有交互性”,因此下一个最佳解决方案是使用 Plotly。

请参阅此shared Colab notebook 了解最小示例。

以下也复制了 Python 代码以供快速参考:

!pip install plotly

import plotly.express as px

SHEET_ID = '153pKW5IZRHwx9mLu_uU-hDSK0D3R19vR71EcgMYHn3I'

df = pd.read_csv('https://docs.google.com/spreadsheets/d/' + SHEET_ID + '/export?format=csv')

fig = px.scatter(data_frame=df, x="x", y="y", width=1000, height=800)
fig.show()

【讨论】:

【参考方案2】:

可用的 matplotlib 后端:['tk', 'gtk', 'gtk3', 'wx', 'qt4', 'qt5', 'qt', 'osx', 'nbagg', 'notebook', 'agg ', '内联', 'ipympl', 'widget']

【讨论】:

请添加更多信息和来源

以上是关于Matplotlib 和 Google Colab:使用 ipympl的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中嵌入 Matplotlib 动画(google colab notebook)

解决google colab环境下使用matplotlib绘图中文乱码问题

Google Colab 中的交互式 matplotlib 人物

如何在 Google Colab 中使用 matplotlib 绘制交互式可绘制图像?

gwpy 包给出错误 - AttributeError:模块“matplotlib.pyplot”在 Google Colab 中没有属性“FigureManagerBase”

在单个单元格 google colab 中多次调用 matplotlib imshow() 时如何保留以前的图像?