当我尝试在构建在EMR实例上的pyspark环境中的jupyter笔记本上绘制一些数据时(在python3.6上),图形未显示。总结起来:当我运行
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()
输出
[这是绘图]
这是我的笔记本,包含错误和示例...
%matplotlib inline
吗? - Alexanderimport matplotlib.pyplot as plt
should only be imported once at the top of the notebook and not in every cell. Do not import it in the cell from which you're producing a plot. I also never use%matplotlib inline
- Trenton McKinneyagg
后端无法显示图形;它只能用于保存。 - ImportanceOfBeingErnest