无法在matplotlib中使用imshow绘制2d数组

时间:2016-10-17 18:06:29

标签: numpy matplotlib

我已经尝试了几个选项来绘制imshow,但到目前为止我还没有解决错误:

plt.imshow(data)
TypeError: Image data can not convert to float

我读了一个包含6列的文件,并在数组中组织了我的数据

results = []
for line in open(filename,'r'):
    for word in line.split():
        results.append(word)

results = np.reshape(results,(length,6))
results = np.asarray(results, dtype=np.longdouble)

现在我想采用这样一个数组的列并使用imshow绘制它。要做到这一点,我首先计算

data = np.reshape(results[:,4],(20,20))

但现在如果我plt.imshow(data),则会返回错误TypeError: Image data can not convert to float。我不明白这里发生了什么,因为我通过重塑得到了正确的二维数组,data具有正确的尺寸:

np.shape(data)
(20, 20)

1 个答案:

答案 0 :(得分:0)

第6行,您是说from IPython.display import Image, display from glob import glob listofImageNames = glob('**/*.JPG', recursive=True) for imageName in listOfImageNames: display(Image(filename=imageName)) print(imageName) 吗? 因为结果是一个数组而不是整数