fipsi
fipsi

Reputation: 81

python - imshow not showing any picture

I have the following code:

import  matplotlib.pyplot
import  numpy

data_file = open("train/small_train.csv", "r")
data_list = data_file.readlines()
data_file.close()

all_values = data_list[0].split(",")
image_array = numpy.asfarray(all_values[1:]).reshape((28,28))
matplotlib.pyplot.imshow(image_array, cmap="Greys", interpolation="None")

this should read the first line of a .csv file and pick the pixel values (split(","), put them together to form an image.

The code just runs without any errors but isn't showing the picture...

Upvotes: 0

Views: 3471

Answers (1)

IMCoins
IMCoins

Reputation: 3306

This should do the trick, you forgot to use the show() method.

You should use from keyword to import only the function you desire. Doing this, you don't need to call the file in which they are (such as matplotlib.pyplot). I also used the with keyword that handles very nicely the file director. It opens the file in a clean way, and closes it properly.

from  matplotlib import pyplot as plt
import  numpy as np

with open("train/small_train.csv", "r") as data:
    data_list = data.readlines()

all_values = data_list[0].split(",")
image_array = np.asfarray(all_values[1:]).reshape((28,28))
plt.imshow(image_array, cmap="Greys", interpolation="None")
plt.show()

Upvotes: 2

Related Questions