在Jupyter Notebook中内联%matplotlib后无法使用%matplotlib Notebook

彼得·B:

我正在使用Jupyter Notebook绘制饼图图形。

我的代码的第一个单元格中,我有一个魔术命令%matplotlib inline,在执行完此魔术命令后,我运行了代码,一切正常,并且图形呈现。

但是在第二个单元格中,当我设置%matplotlib notebook为交互式绘图时,运行第二个单元格后将无法渲染我的图形。

我需要重新启动内核并%matplotlib notebook再次运行单元,并且%matplotlib inline在此之前无法运行命令。

这里是我的代码,第一个单元格%matplotlib inline,这使得罚款:

import matplotlib.pyplot as plt

%matplotlib inline

labels = "No", "Yes"
sizes = [100, 50]

fig, ax = plt.subplots(figsize=(6, 6))

_, texts, autotexts = ax.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',
             shadow=False, startangle=90)

ax.axis('equal')

之后,我有了具有相同代码的第二个单元格,只是%matplotlib inline更改为%matplotlib notebook运行此单元格后,该图将无法渲染,我需要重新启动内核并再次运行此单元格。

为什么?

重要性:

您只是命令顺序错误。在jupyter中导入pyplot之前,应该设置一个后端。换句话说,更改后端后,需要再次导入pyplot。

因此%matplotlib ...在导入pyplot之前先调用

在第一个单元格中:

%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,1.6,3])

在第二个单元格中:

%matplotlib notebook
#calling it a second time may prevent some graphics errors
%matplotlib notebook  
import matplotlib.pyplot as plt
plt.plot([1,1.6,3])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章