python - zip 不适用于 imshow : TypeError: Image data cannot be converted to float

标签 python python-3.x typeerror imshow

我在其他地方看到了类似的问题,但它们来自不同的代码。我的情况是使用 zip 转置数据,然后使用 imshow:

import matplotlib.pyplot as plt
a=[[1,2,3],[4,5,6]]
img_data=zip(*a)
plt.imshow(img_data)

我得到了 类型错误:图像数据无法转换为浮点

最佳答案

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

选项 1
转换为列表 -

img_data = list(zip(*a))
plt.imshow(img_data)

选项 2
a 转换为 numpy 数组并转置。由于您使用 zip 达到相同的效果,因此这是有道理的。

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

enter image description here

关于python - zip 不适用于 imshow : TypeError: Image data cannot be converted to float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47868014/

相关文章:

python - 从python中的二进制文件中提取字符串

python |如何创建动态和可扩展的词典

python - PCA 线拟合聚类算法

python - 类型错误:** 或 pow() 不支持的操作数类型: 'list' 和 'int'

Javascript:TypeError:...不是构造函数

python - 尽管该命令在终端上有效,但子进程未运行生成的命令

mysql - 加载 MySQLdb 模块时出错。你安装mysqlclient了吗?在 MacOS 上

python-3.x - 使用 python3 给定方程的线性逼近

python - Python输入 “-”

Javascript 类型错误,不是函数