matplotlib numpy -- TypeError: 无法读取未定义的属性 'props' -- 图形没有显示?



此代码可在一台机器上运行,但不能在另一台机器中运行。我似乎无法将这个问题与依赖关系隔离开来。

示例代码来自:https://matplotlib.org/3.1.1/gallery/lines_bars_and_markers/simple_plot.html

--

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, s)
ax.set(xlabel='time (s)', ylabel='voltage (mV)',
title='About as simple as it gets, folks')
ax.grid()
fig.savefig("test.png")
plt.show()

-->类型错误:无法读取未定义的的属性"props">

此代码不会生成显式失败的堆栈跟踪。TypeError:由对plt.show((的调用返回。我尝试搜索此错误,但找不到任何报告。(我在我正在处理的服务器上添加了一张visualstudio的屏幕截图。我可能只会为我的其他环境创建一个docker,因为我本来应该这样做,以避免我的配置中断。(图形正确地保存到文件中。这只是plt.show((的问题。

np版本'1.17.2'

matplotlib版本‘3.1.1’

屏幕截图

图形正确保存

你能告诉我们它在哪一行失败吗?哪个函数调用导致了问题?您可以对所有内容进行注释,然后取消对每一行的注释,直到执行时出现错误为止。也许有一个关于这个问题的github页面。

我的怀疑是,这是ax.set((调用。以前从未见过,也从未使用过。也许它在mpl 3.1.1中被弃用了。显然,当您传递函数不知道的参数(xlabel,ylabel,title(时,可能会发生此错误:Uncaught TypeError:无法读取属性';值';未定义

作为测试,请尝试运行以下程序:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, s)

ax.set_ylabel('voltage (mV)')
ax.set_xlabel('time (s)')
ax.set_title('About as simple as it gets, folks')
ax.grid()
fig.savefig("test.png")
plt.show()

最新更新