Databricks 不显示 matplotlib 3.2.2 图,而是显示: <Figure size ...x... with 1 Axes>

3Uq*_*naX 3 python matplotlib databricks

正如标题中所述,当我使用下面的代码时,我没有得到数字,但我看到:<Figure size 432x288 with 1 Axes> [<matplotlib.lines.Line2D at 0x7f7df9afca50>]

重现行为的代码:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y)
Run Code Online (Sandbox Code Playgroud)

我在 SO 上发现了类似的问题,所有答案都为 use plt.show(),但这不起作用。

我的配置:

  • Databricks 运行时版本:7.3 LTS(包括 Apache Spark 3.0.1、Scala 2.12)
  • matplotlib==3.3.2

正如 Databricks 自己所说,从版本 6.5 及更高版本开始,您不再需要使用%matplotlib inline. 无论我是否使用它,都没关系,因为我得到相同的输出(没有数字,但轴语句)。

注意:matplotlib==3.2.1我确实看到了这个图,但我想知道为什么它在 3.2.2 版本中失败。

wch*_*atx 7

刚刚遇到了同样的问题,虽然这可能为时已晚,无法帮助您,但我正在为其他人发布解决方案。通过简单地添加display(),可视化即可正确呈现。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y)
display()
Run Code Online (Sandbox Code Playgroud)