为了账号安全,请及时绑定邮箱和手机立即绑定

pyplot.contourf() 在指定级别参数时返回错误

pyplot.contourf() 在指定级别参数时返回错误

隔江千里 2021-08-14 13:42:59
问题很可能与版本有关。该levels参数在 3.0.0 版中采用整数参数,而在使用 2.2.2 版时已出现此问题。更新:安装版本>=3.0.0 后未出现此问题。我正在尝试使用该matplotlib.pyplot.contourf()函数在 Python 中绘制等高线图,它的工作原理如下:plt.contourf(x, y, z)但是当我尝试为 levels 参数指定一个整数时,如下所示:plt.contourf(x, y, z, levels=100)它总是返回错误: TypeError: len() of unsized object在文档中,它说参数levels可以是int或者array_like所以我不知道为什么它甚至会调用len()函数任何想法为什么会发生这种情况以及如何解决它的任何建议?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

对不起,这发生在你身上。文档在 2.2.3 版中发生了变化,但没有完全实现此功能。因此,根据 matplotlib 的版本,levels参数的解释不同。


matplotlib < 3.0.0


levels被解释为绘制轮廓的级别列表。整数被解释为单个级别。对于contourf(填充轮廓)图,您至少需要两个级别。使用之前已知的方式将级别数指定为第二个或第四个未命名参数


plt.contourf(z, 100)

plt.contourf(x, y, z, 100)

matplotlib >= 3.0.0


levels可以采用列表或整数。当为整数时,它表示(近似 [ * ])级数。相关的公关是这个。


plt.contourf(z, levels=100)

plt.contourf(x, y, z, levels=100)


查看完整回答
反对 回复 2021-08-14
  • 1 回答
  • 0 关注
  • 323 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信