gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:47 25 4
gpt4 key购买 nike

编辑:问题很可能与版本有关。 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 可以是 intarray_like 所以我不知道为什么它甚至调用 len() 函数

关于为什么会发生这种情况的任何想法以及关于如何解决它的任何建议?

最佳答案

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

ma​​tplotlib < 3.0.0

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

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

ma​​tplotlib >= 3.0.0

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

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

关于python - pyplot.contourf() 在指定级别参数时返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com