我有一张巨大的桌子(或矩阵,如果你愿意的话)。我想通过制作一个图像来可视化这个表,其中每个像素对应于表格中的一个单元格(因此,表格中的行和列对应于"行"和#34;列&# 34;图像中的像素。)
单元格中的值已经与颜色对应(例如[255, 0, 0]
是与红色对应的值)。换句话说,表格中的每个单元格都包含一个表示颜色的三维向量。
该表可以表示为列表列表或3D numpy
数组。
答案 0 :(得分:2)
您可以使用matplotlib's
imshow
功能执行此操作。您只需要将数组从0 - 255
规范化为0 - 1
,然后就可以向imshow
数组提供MxNx3
。
这是一个简单的例子:
import matplotlib.pyplot as plt
import numpy as np
fig,ax=plt.subplots(1,subplot_kw={'aspect':'equal'})
# A small 3x3 sample array
imarray=np.array([
[[255,0,0],[0,255,0],[0,0,255]],
[[255,255,0],[0,255,255],[255,0,255]],
[[255,255,255],[127,127,127],[0,0,0]]
])
# Normalise the data to between 0 and 1
imarray = imarray.astype('float')/255.
# plot the array
ax.imshow(imarray,interpolation='nearest')
plt.show()