Matplotlib运行报错ValueError: object __array__ method not producing an array
代码很简单
plt.plot(x, y)# 添加标题和标签
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('sin(x)')# 设置坐标轴范围
plt.xlim(0, 10)
plt.ylim(-1, 1)# plt.figure()
# 显示图形
plt.show()
但是运行show的时候,就报错
Traceback (most recent call last):
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/backend_bases.py", line 1179, in _on_timer
ret = func(*args, **kwargs)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/backends/backend_macosx.py", line 71, in callback_func
callback()
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/backends/backend_macosx.py", line 93, in _draw_idle
self.draw()
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/backends/backend_macosx.py", line 56, in draw
super().draw()
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py", line 387, in draw
self.figure.draw(self.renderer)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/artist.py", line 95, in draw_wrapper
result = draw(artist, renderer, *args, **kwargs)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/artist.py", line 72, in draw_wrapper
return draw(artist, renderer)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/figure.py", line 3161, in draw
self.patch.draw(renderer)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/artist.py", line 72, in draw_wrapper
return draw(artist, renderer)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/patches.py", line 632, in draw
self._draw_paths_with_artist_properties(
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/patches.py", line 617, in _draw_paths_with_artist_properties
renderer.draw_path(gc, *draw_path_args)
File "/Users/zhangjinhua/PycharmProject/t_tstd /venv/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py", line 131, in draw_path
self._renderer.draw_path(gc, path, transform, rgbFace)
ValueError: object array method not producing an array
原因是numpy和matplotlib版本不适配,需要重新更新下
pip install --upgrade numpy matplotlib
我还依赖了tensorflow,tensorflow与numpy的版本也不适配,所以我更新的时候是将三个一起更新,pip会自动选择三个合适的版本进行更新
pip install --upgrade numpy matplotlib tensorflow
更新之后,既不报错,pyplot也能展示图像了