zip不适用于imshow:TypeError:图像数据无法转换为浮点数

我在其他地方看到类似的问题,但它们来自不同的代码。我的情况下是与zip转置数据,然后使用imshow:zip不适用于imshow:TypeError:图像数据无法转换为浮点数

import matplotlib.pyplot as plt 

a=[[1,2,3],[4,5,6]]

img_data=zip(*a)

plt.imshow(img_data)

我 类型错误:图像数据不能被转换为float

回答:

zip返回迭代对象(在python3,而不是一个容器,如列表/数组)。你想要做的是将zip对象转换为imshow可以理解的格式。有几个选项。

选项1
转换为list -

img_data = list(zip(*a)) 

plt.imshow(img_data)


选项2
转换a到numpy的阵列和转置。由于您使用zip达到相同的效果,这是有道理的。

plt.imshow(np.array(a).T) 


以上是 zip不适用于imshow:TypeError:图像数据无法转换为浮点数 的全部内容, 来源链接: utcz.com/qa/263140.html

回到顶部