How To Plot An Image From A Connection Matrix?
Solution 1:
I would suggest usage of opencv
combined with numpy
in this case.
Create two-dimensional numpy.array
of dtype='uint8'
with 0
for black and 255
for white. For example, to get 2x2 array with white left upper, white right lower, black left lower and black right upper, you could use code:
myarray = numpy.array([[255,0],[0,255]],dtype='uint8')
Then you could save that array as image with opencv2 in this way:
cv2.imwrite('image.bmp',myarray)
In which every cell of array is represented by single pixel, however if you want to upscale (so for example every cell is represented by 5x5 square) then you might use numpy.kron
function, with following one line:
myarray = numpy.kron(myarray, numpy.ones((5,5)))
before writing image
Solution 2:
May be you can try this!
import matplotlib.cm as cm
# Display matrix
plt.imshow(np.random.choice([0, 1], size=100).reshape((10, 10)),cmap=cm.binary)
Solution 3:
With a Seaborn heatmap:
import seaborn as sns
np.random.seed(3)
sns.set()
data = np.random.choice([0, 1], size=(16,16), p=[3./4, 1./4])
ax = sns.heatmap(data, square=True, xticklabels=False, yticklabels=False, cbar=False, linewidths=.8, linecolor='lightgray', cmap='gray_r')
Note the reverse colormap gray_r
to have black for 1's and white for 0's.
Post a Comment for "How To Plot An Image From A Connection Matrix?"