plt.show()不会在jupyter笔记本上渲染图像

时间:2019-09-04 04:38:11

标签: python matplotlib jupyter-notebook amazon-emr

当我尝试在通过EMR实例构建的pyspark环境(在python3.6上)在jupyter笔记本上绘制一些数据时,该图不出现。总结:当我运行plt.show()命令时,图不出现。

首先,我尝试将%matplotlib inline放在开头,但是出现了情节。然后我尝试更改后端...不走运!当我尝试其他代码粉碎时,只有“ Agg”后端有效。

这是我要绘制的相同代码:

import matplotlib.pyplot as plt
plt.switch_backend('agg')
plt.plot([1,2,3,4])
plt.show()

输出

没事...

我还读到要进行绘图,我需要使用“%matplotlib inline”,但这是因为其他单元格上定义的变量在%matplotlib inline单元格中不存在。

让我们看看...

单元格1

dummy_var = 10

单元2

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
print(dummy_var)

输出

  

NameError:名称'dummy_var'未定义。

免责声明: 公平地说,%matplotlib inline命令可以正常工作,但是我还需要外部变量来绘制它们。

单元3

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

输出

[剧情]

这是我的笔记本,带有错误和示例... Image with the error

2 个答案:

答案 0 :(得分:0)

这也曾经发生在我身上,但我使用的是以下说明:

%matplotlib inline

在您确实要导入的单元格中

笔记本的一个好习惯是始终将导入内容放在笔记本顶部的同一单元格中。

答案 1 :(得分:0)

通过在单独的单元格中运行以下命令,我能够使用spark中的数据显示图表:

%matplot plt

这是由sparkmagic github page

中的README示例提供的。